1且叁、靜態(tài)變量:
static 修飾的變量都哭,是一個(gè)私有的全局變量;在 OC 中 static 修飾的變量只作用于它聲明所在的 .m 實(shí)現(xiàn)文件中逞带,同時(shí)必須放 @implementation 外面或方法中欺矫,它只在程序啟動(dòng)初始化一次。
static int duration;
2掰担、靜態(tài)常量:
當(dāng)被 static 修飾的變量同時(shí)被 const 修飾時(shí)汇陆,改變量變?yōu)槌A颗ǎ豢勺兇ィ⑶摇爸辉诰幾g單元內(nèi)可見(jiàn)”,常用來(lái)替代 #define 宏阅羹,這樣當(dāng)修改其值時(shí)勺疼,編譯起會(huì)報(bào)錯(cuò)。
static const NSTimeInterval AnimationDuration = 0.5;
static NSString *const AnimationName = @"Fade";
3捏鱼、全局變量/常量:
extern 修飾的變量执庐,是一個(gè)全局變量,當(dāng)同時(shí)被 const 修飾時(shí)导梆,變?yōu)橐粋€(gè)全局常量轨淌,在頭文件中使用 extern 來(lái)聲明全局常量,并在相關(guān)實(shí)現(xiàn)文件中定義其值看尼。這種常量要出現(xiàn)在全局符號(hào)表中递鹉,所以其名稱(chēng)應(yīng)該加以區(qū)隔,通常與之相關(guān)的類(lèi)名做前綴藏斩。
// .h 文件
extern NSString *const WCYAnimationName;
// .m 文件
NSString *const WCYAnimationName = @"Fade";