const和宏的区别

2016-06-16  本文已影响73人  952625a28d0d
// 把常见的常量:抽成宏
#define XMGAccount @"account"

#define XMGAge 20

const int age = 20;

#define XMGUserDefault [NSUserDefaults standardUserDefaults]

// 字符串常量
static NSString * const account = @"account";

- (void)viewDidLoad {
    [super viewDidLoad];
    // 1.需求:使用偏好设置存储,经常需要使用key,来做存储和读取。
    // 2.解决:经常使用的key,抽成宏
    
    // 偏好设置存储
    // 使用宏
    [XMGUserDefault setValue:@"123" forKey:XMGAccount];
    
    // 3.苹果推荐使用const,UIKIT_EXTERN NSString *const UITableViewSelectionDidChangeNotification;
    
    // 使用const常量
    [[NSUserDefaults standardUserDefaults] setValue:@"123" forKey:account];
    
    // 4.const和宏的区别:
    // 编译时刻:宏是预编译,const是编译
    // 编译检查:宏不会报编译错误,const会报编译错误.
    // 宏的好处:可以定义函数和方法,const不行
    // 宏的坏处:大量使用宏,会造成编译时间太久,每次都需要替换。
}
@end```
上一篇 下一篇

猜你喜欢

热点阅读