@literals 是 XCode 4.4.1  之后一种资料型态简化的写法

就如以往的 NSString 产生的方式,我们可以用 @““  的方式来产生之外,NSNumber, NSDictionary, NSArray  都可以用类似的方式产生

先看一下 NSString 的写法,要产生一个 NSString 我们可以这样写

 

 NSString *string=@"string";


这个写法也就等于

 NSString *string=[NSString stringWithFormat:@"string];

 

同样的方式,我们可以产生 NSNumber 只要用数字取代就可以了,不用双引号,例如:

 

 NSNumber *number=@5;

 

也可用括号把算式写进去如  @(3+2) 等。
 

至于 NSArray 就用中括号就可以了,而且最后不用加上 nil ,如

 

 NSArray *array=@[@"one",@"two",@"three"];

 

就相当于以前的版本写的

 NSArray *array=[NSArray arrayWithObjects:@"one",@"two",@"three",nil];

 

NSDictionary 则是用大括号,同样的不用最后加 nil,而且 key 写在前面,例如

 

 NSDictionay *dictionay=@{@"Key1":@"Value1",
                                       @"Key2":@"Value2"}

 

这些 @literals 的写法 好用又易读,但以往的程式要转换过来可不容易,所以 XCode 提供了简易的转换工具,只要按下  Edit > Refactor >Convert to Modern Objective-C Syntex... 系统就会整个做分析

 

萤幕快照 2012-11-05 下午11.18.40  

 最后你自已人工检查后,就可以继续下去,协助你全部转换成新式语法

萤幕快照 2012-11-05 下午11.25.25  

相关文章