第五條:用枚舉表示狀態(tài)、選項(xiàng)、狀態(tài)碼
系統(tǒng)框架中頻繁用到此類型,而開發(fā)者容易忽視它。在以一系列常量來表示錯誤狀態(tài)碼或可組合的選項(xiàng)時(shí),極宜使用枚舉為其命名。
枚舉是一種常量命名方式。某個對象經(jīng)歷的各種狀態(tài)就可以定義為一個枚舉集。
要點(diǎn)
1.應(yīng)該用枚舉來表示狀態(tài)機(jī),傳遞給方法的選項(xiàng)以及狀態(tài)碼等值,給這些值起個易懂的名字
2.如果把傳遞給某個方法的選項(xiàng)表示為枚舉類型,而多個選項(xiàng)又可同時(shí)使用,那么就將各選項(xiàng)值定義為2的冪,以便通過按位或操作將其組合起來
3.用NS_ENUM與NS_OPTIONS宏來定義枚舉類型,并指明其底層數(shù)據(jù)類型,這樣做可以確保枚舉是用開發(fā)者所選的底層數(shù)據(jù)類型實(shí)現(xiàn)出來的,而不會采用編譯器所選的類型
4.在處理枚舉類型的switch語句中不要實(shí)現(xiàn)default分支。這樣的話,加入新枚舉之后,編譯器就會提示開發(fā)者:siwtch語句并未處理所有枚舉