美文网首页
(四) [OC高效系列]多用类型常量,少用#define预处理命

(四) [OC高效系列]多用类型常量,少用#define预处理命

作者: 修行猿 | 来源:发表于2016-08-09 08:24 被阅读34次

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指向的对象可变
```

相关文章

网友评论

      本文标题:(四) [OC高效系列]多用类型常量,少用#define预处理命

      本文链接:https://www.haomeiwen.com/subject/iparsttx.html