static、self 、super
static:
1、static可以修飾OC中所有的成員變量,有局部和全局之分;static還可以修飾方法
2、static修飾的對(duì)象的內(nèi)存是由系統(tǒng)來(lái)管理的
3、static修飾的對(duì)象只能被初始化一次
self:
指當(dāng)前類的對(duì)象本身,或者說(shuō)是當(dāng)前消息的接收者
super:
指父類的對(duì)象本身、向父類發(fā)送消息
switch和if
1、它們都是條件判斷語(yǔ)句
2、switch只能處理整型、字符型、枚舉類型(其實(shí)都是整型)的數(shù)據(jù),if則沒(méi)有這樣的限制
3、switch的效率更高: if 語(yǔ)句通過(guò)一層層的邏輯判斷來(lái)執(zhí)行符合條件的語(yǔ)句;而swith可以通過(guò)(expresion)直接找到對(duì)應(yīng)的case來(lái)執(zhí)行。
@public、@protected、@private
1、@public:
由它聲明的實(shí)例變量能在任何其他類中訪問(wèn)
2、@protected:
由它聲明的實(shí)例變量可以在本類以及其子類中訪問(wèn)。系統(tǒng)默認(rèn)的是@protected類型的。
3、@private:
由它聲明的實(shí)例變量只能在本類中訪問(wèn)
#include、#import、@class
1、#include與#import功能一樣,都是查找該類中的屬性和方法;
2、#import可以防止#include具有的交叉導(dǎo)入的問(wèn)題;
3、@class XX 只是告訴編譯器 把XX作為類來(lái)處理,但并沒(méi)有導(dǎo)入該類,所以編譯效率更高一些。
nil、Nil、NULL
nil:指向一個(gè)對(duì)象的指針為空
Nil:指向一個(gè)類的指針為空
NULL:指向一個(gè)C類型的指針為空