XCode 4.5 @literals 语法
@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... 系统就会整个做分析
最后你自已人工检查后,就可以继续下去,协助你全部转换成新式语法