@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  

arrow
arrow

    shenfive 發表在 痞客邦 留言(0) 人氣()