@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... 系統就會整個做分析
最後你自已人工檢查後,就可以繼續下去,協助你全部轉換成新式語法
留言列表