1.使用类型常量的优势
- 包含类型信息
- 即使重新定义了常量值,编译器也不会产生警告,导致程序中常量值不一致
2.如何定义类型常量值
如果仅仅需要在内部使用,那么在.m文件上方按如下方式定义即可,static与const是必须的,static将此类型常量限定在此.m文件中,即使其他的.m文件中重新定义了该常量,依然对此常量无影响,const 指明不能被改变
static const NSTimeInterval kAnimationDuration = 0.3;
如果是需要在外部使用,则需要在头文件中用extern 关键字将该常量注册到`全局符号表,.m文件中不需要添加static 关键字
//一般全局符号需要加上类名前缀,防止冲突
//.h 声明到全局符号表
extern NSString *const YXLoginViewControllerDidSuccessNotification;
//.m 定义值
NSString *const YXLoginViewControllerDidSuccessNotification =
@"YXLoginViewControllerDidSuccessNotification";
```
>3.const *和 *const的区别
```
NSString const *p; // p可变,p指向的对象不可变
NSString *const p; // p不可变,p指向的对象可变
```
网友评论