宏常見用法:
<1>. 常見字符串抽成宏
<2>.常用代碼抽成宏。
const
<1>.定義常量,當有字符串常量的時候,蘋果推薦使用const。
<2> 編譯時刻:
宏:預編譯(編譯常見過長); const :編譯時刻
<3> 編譯檢查:
宏:不會檢查錯誤; const:會檢查錯誤
<4>.僅僅用來修飾右邊的變量(只能修飾變量:基本變量,指針變量,對象變量),const修飾的變量表示只讀。
<5>.開發中使用場景:定義一個全局只讀變量;在方法中定義只讀參數。
static
1.修飾局部變量
<1>.延長這個局部變量的聲明週期,只要成員運行,局部變量就會一直存在;
<2>. 局部變量只分配一次內存
2.修飾全局變量
只會修改全局變量的作用域,表示只能是當前文件內使用
static 和const 修飾全局變量
static修飾全局變量,修改作用域,表示在當前文件中使用, const修飾變量,表示只讀。
static NSString *const name =@"steve";
extern和const 聯合使用
.h 文件
extern NSString *const name;
UIKIT_EXTERN NSString *const name; // 裝逼寫法
.m 文件
NSString *const name = @"Steve"