常量應該使用駝峰命名法,并且為了清楚,應該用相關的類名作為前綴。
**推薦:**
~~~
static const NSTimeInterval ZOCSignInViewControllerFadeOutAnimationDuration = 0.4;
~~~
**不推薦:**
~~~
static const NSTimeInterval fadeOutTime = 0.4;
~~~
常量應該盡量使用 in-line 的字符串字面值或者數字,這樣便于經常用到的時候復用,并且可以快速修改而不用查找和替換。 常量應該用 `static` 聲明,并且不要使用 `#define`,除非它就是明確作為一個宏來用的。
**推薦:**
~~~
static NSString * const ZOCCacheControllerDidClearCacheNotification = @"ZOCCacheControllerDidClearCacheNotification";
static const CGFloat ZOCImageThumbnailHeight = 50.0f;
~~~
**不推薦:**
~~~
#define CompanyName @"Apple Inc."
#define magicNumber 42
~~~
常量應該在 interface 文件中這樣被聲明:
~~~
extern NSString *const ZOCCacheControllerDidClearCacheNotification;
~~~
并且應該在實現文件中實現它的定義。
你只需要為公開的常量添加命名空間前綴。盡管私有常量在實現文件中可能以不同的模式使用,你也沒有必要不堅持這個規則。