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