推荐使用常量来代替字符串字面值和数字,这样能够方便复用,而且可以快速修改而不需要查找和替换。常量应该用 static 声明为静态常量,而不要用 #define,除非它明确的作为一个宏来使用。
static NSString *const kControllerDidClearCacheNotification = @"ControllerDidClearCacheNotification";
static const CGFloat kImageThumbnailHeight = 50.0f;
不推荐
#define CompanyName @"XXXXXXX"
#define magicNumber 42
在头文件中使用extern来声明全局常量,并在相关实现文件中定义其值。这种常量要出现在全局符号表中,所以名称应加以区分,通常用相关类名或其他能准确表达语义的词汇作为前缀
//头文件 (建议Notification多以Did、Will之类的能表达语义的词修饰)
extern NSString *const LoginViewControllerDidLoginSuccessNotification;
//实现文件
NSString *const MTLoginViewControllerDidLoginSuccessNotification = @"LoginViewControllerDidLoginSuccessNotification";
网友评论