ios6 LLVM 4.0 obj-c 语法的一些变化

移动开发 iOS
在最新的 Xcode 4.4 中,增加了许多新特性。其中包括更方便的代码输入,这得益于 LLVM 编译器 4.0 的更新。这一更新可大大提高写代码的效率。

ios 6 采用了新的编译器LLVM 4.0, 其中带来了一些obj-c语法方便的小改变。

在生命string 时, 我们在obj-c 常使用NSString *s = @"string"; 使得创建string十分方便。

在ios 6我们可以使用类似的语法来声明NSNumber, NSArray, NSDictionary,从而使代码更简洁。

NSNumber写法变化

之前声明NSNuumber的写法:

  1. NSNumber *n = [NSNumber numberWithInt:3]; 
  2. NSNumber *yesValue = [NSNumber numberWithBOOL:YES]; 

LLVM 4.0 写法:

  1. NSNumber *n = @3; 
  2. NSNumber *yesValue = @YES ; 
  3. NSNumber *pi = @3.14F //默认为double,加F后为float 
  4. NSNumber *r = @3U //默认为有符号整型,加U后为无符号整型 

NSArray和NSDictionary写法变化

之前创建NSArray写法:

  1. NSString *str1 = @"1"; 
  2. NSString *str2 = @"2"; 
  3. NSString *str3 = @"3"; 
  4. NSArray *myArray1 = [NSArray arrayWithObjects:str1,str2,str3,nil]; 

LLVM 4.0写法:

  1. NSArray *myArray2 = @[str1,str2,str3]; 
  2. NSDictionary *d = @[@"key1":@"value1",@"key2":@"value2",@"key3":@"value3"]; 

获取NSArray和NSDictionary中的数据

之前的方式是objectAtIndexOf 和 objectForKey,

LLVM 4.0:

  1. NSArray *arrayOfIntegers = @[@1 ,@2,@3]; 
  2. int i = arrayOfIntegers[1]; 
  3. NSDictionary *d = @[@"key1":@"value1",@"key2":@"value2",@"key3":@"value3"]; 
  4. int e = d[@"key1"]; 

在ios 5 时,定义property自己要手动@synthesize p = _p;

而LLVM 4.0 则不需要写 = _p。编译器默认生成_p作为实例变量。

责任编辑:闫佳明 来源: oschina
相关推荐

2012-10-24 15:08:11

设备不被追踪长尾

2013-04-03 10:22:00

iOS开发Objective-C

2013-04-28 10:36:00

Obj-C数组Obj-C字符串拼接与

2014-03-17 10:10:58

CC++编程书籍

2015-07-28 14:39:02

IOS技巧

2018-02-06 11:10:27

iOS开发Xcode快捷键

2017-02-21 13:36:11

iosAPP性能

2009-08-13 16:41:12

C#结构

2010-07-20 15:43:42

SQL Server

2011-11-01 09:29:08

Android 4.0

2015-07-28 14:52:35

IOS技巧

2014-05-13 09:55:13

iOS开发工具

2012-12-24 14:51:02

iOS

2018-02-04 22:29:21

iOS开发

2009-07-30 18:49:31

C#时间类型

2013-03-29 09:03:59

iOS实用小代码iOS开发

2011-06-07 15:19:08

百度近期变化

2013-05-28 17:14:01

iOS开发移动应用移动开发

2013-12-03 10:30:28

iOS开发程序员自我提升

2017-09-10 17:31:18

iOS渲染数据
点赞
收藏

51CTO技术栈公众号