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