effect_objectC的學(xué)習

effect_objectC

第三條

盡量使用@class先告訴編譯器,再在.m文件中導(dǎo)入@import 某個文件

第四條

多用字面量語法,少用與之等價的方法

例子:

NSNumber*number=[NSNumbernumberWithInt:2];// error

NSNumber*number2=@2;// right

intx=2;

floaty=5.23;

NSNumber*number3=@(x*y);

數(shù)組字面值

格式:

需要用[]來初始化

NSArray*array=[[NSArrayalloc]initWithObjects:@"dog",@"cat",@"mouse",nil];

NSArray*array1=@[@"dog",@"cat",@"mouse”];

注意的是:創(chuàng)建字面值數(shù)組時,如果括號中對象有nil的對象,則會拋出異常。如果是第一種方法則不回,但是會出現(xiàn)一個更大的問題

idobject1=@"dog";

idobject2=nil;

idobject3=@"cat";

NSArray*array=[[NSArrayalloc]initWithObjects:object1,object2,object3,nil];/**只有一個dog,因為object2是nil,結(jié)束了數(shù)組的創(chuàng)建*/

NSArray*array1=@[object1,object2,object3];

//拋出異常

總結(jié): 所以使用字面值的方法創(chuàng)建會更安全

字面值創(chuàng)建字典

格式:

字典需要用{}來初始化字面值

NSDictionary*dict=[[NSDictionaryalloc]initWithObjectsAndKeys:@"Matt",@"fistname",[NSNumbernumberWithInt:28],@"age",

nil];

NSDictionary*dict2=@{@"firstname":@"Matt",@"age":@28};

總結(jié):局限性:使用字面值創(chuàng)建出來的字符串,數(shù)組,字典對象都是不可變的。想要變成可變版本,需要復(fù)制一份。

NSMutableArray*mutabbleArray=[@[@1,@2,@3]mutableCopy];

要點:

1.應(yīng)該通過下標操作來訪問數(shù)組的下標或字典中的鍵所對應(yīng)的元素

2.使用字面值創(chuàng)建數(shù)組或者字典時,若值有Nil時,會拋出異常。

第四條

使用常量來代替#define 宏

在實現(xiàn)文件中使用static const來定義”只在編譯單元內(nèi)可見的常量"

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容