一般狀況下,建立數組,字典的時候須要寫一些很長的方法名,今天就總結一下如何使用字面量語法代替這些方法。數組
一、數值的建立安全
NSNumber *number1 = [NSNumber numberWithInt:1]; //傳統方法 NSNumber *number2 = @1; //字面量建立方法
只用一個@就代替了傳統的建立方法,顯得優雅整潔。app
NSNumber *intNumber = @1; NSNumber *floatNumber = @1.5f; NSNumber *boolNumber = @YES; NSNumber *charNumber = @'b';
二、數組的建立ui
NSArray *fruits = [NSArray arrayWithObjects:@"apple",@"orange",@"pear",nil]; NSArray *fruitss = @[@"apple",@"orange",@"pear"]; //使用[]建立數組
若用字面量建立數組的時候元素出現nil的時候,會拋出異常,程序終止執行。而傳統建立數組則不會報錯,建立數組的時候依次處理元素知道nil爲止,因此咱們可以提早發現錯誤,用字面量建立數組更加安全。spa
三、字典的建立code
NSDictionary *userNameDic = [NSDictionary dictionaryWithObjectsAndKeys:@"mu",@"firstName",@"tou",@"lastName",nil]; NSDictionary *userNameDicc = @{@"firstName":@"mu",@"lastName":@"tou"};
能夠看出,新語法建立的字典,比較符合人們的閱讀習慣key在左,value在右,不過建立字典的時候須要注意的是,鍵和值必須是對象,不能把c語言的類型放進去,應該轉變爲NSNumber後存入。對象
訪問字典值的方法blog
NSString *lastName = [userNameDic objectForKey:@"lastName"];
NSString *lastName = userNameDicc[@"lastName"];
四、使用字面量語法建立的的對象都是不可變的,若是須要變成可變對象,須要作以下轉換it
NSMutableArray *fruits = [@[@"apple",@"orange",@"pear"] mutableCopy];