(四) [OC高效系列]多用類型常量,少用#define預(yù)處理命令

1.使用類型常量的優(yōu)勢

  • 包含類型信息
  • 即使重新定義了常量值,編譯器也不會產(chǎn)生警告,導(dǎo)致程序中常量值不一致

2.如何定義類型常量值

如果僅僅需要在內(nèi)部使用,那么在.m文件上方按如下方式定義即可,static與const是必須的,static將此類型常量限定在此.m文件中,即使其他的.m文件中重新定義了該常量,依然對此常量無影響,const 指明不能被改變

static const NSTimeInterval kAnimationDuration = 0.3;

如果是需要在外部使用,則需要在頭文件中用extern 關(guān)鍵字將該常量注冊到`全局符號表,.m文件中不需要添加static 關(guān)鍵字

//一般全局符號需要加上類名前綴,防止沖突

//.h 聲明到全局符號表
extern NSString  *const   YXLoginViewControllerDidSuccessNotification;

//.m 定義值
 NSString *const   YXLoginViewControllerDidSuccessNotification =
 @"YXLoginViewControllerDidSuccessNotification";
```

>3.const *和 *const的區(qū)別

```
NSString const *p; // p可變,p指向的對象不可變
NSString *const p; // p不可變,p指向的對象可變
```
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容