1.id和instanceType區(qū)別裁蚁?
id :返回值矢渊,參數(shù)類型,修飾變量
instanceType:只能作為方法和函數(shù)的返回值
優(yōu)點(diǎn):instanceType 能精確的限制返回值的具體返回類型
2. id和NSObject區(qū)別枉证?
id :編譯時不檢測類型矮男,不強(qiáng)轉(zhuǎn)
NSObject:編譯時檢測類型,并強(qiáng)轉(zhuǎn)
相同:都可以指向任何對象
3. id室谚、nil毡鉴、Nil、NULL秒赤、NSNULL區(qū)別猪瞬?
id :一種特殊的數(shù)據(jù)類型,內(nèi)部實(shí)際上是指向?qū)ο蟮膶?shí)例變量的指針入篮,可以指向任何對象
nil:實(shí)例對象的值
Nil:類對象的值
NULL:基本數(shù)據(jù)的空指針
NSNULL:對象
4. new
1.申請內(nèi)存空間
2.初始化實(shí)例對象撑螺,并賦值
3.返回首地址
5. atmic和noatmic的區(qū)別
主要區(qū)別:編譯器生產(chǎn)的getter&setter方法是否加鎖
注意:atmic不是絕對安全,因?yàn)樗麅H僅對setter&getter方法加鎖崎弃,
所以其他線程在操作setter或者getter時甘晤,會執(zhí)行完當(dāng)前操作,以保證線程安全
但是如果另外一線程操作release的話饲做,會crash线婚。
6. @property 的作用
@property = getter+setter+ivar
1.在.h文件中聲明實(shí)例變量,setter&getter方法
2.在.m文件中自動生成實(shí)例變量盆均,setter&getter方法
注意:我們可以手動實(shí)現(xiàn)setter&getter方法塞弊,不過這樣的話,
我們也需要手動添加實(shí)例變量
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者