iOS学习iOS-学习笔记@IT·互联网

iOS 中的 static 、const 和 extern

2016-06-13  本文已影响832人  JasonWu

staticconstextern 是在写 iOS 应用中常用的几个关键词。本篇文章将从以下几个方面介绍。


static

const

const NSInteger a = 10; // a 不可被修改
NSInteger const a = 10; // 与上面效果一样
NSString const *str = @"hi"; // const 修饰的变量是 *str 所以可以修改 str 所指向的地址,不能修改 *str 具体的内容
NSString * const str = @"hi"; // const 修饰的变量是 str 所以可以修改 *str 具体的内容,不能修改 str 所指向的地址

extern

static 使得变量只对某个特定文件具有可见性,然而使用 extern 可以使得对所有文件可见

组合使用

申明全局常量

oc 中申明全局常量可以

//.h 文件
extern NSString * const kVAR;
//.m 文件
NSString * const kVAR = @"kVAR";

当然也可是使用宏来定义全局常量,但是建议用这种方法主要一下几点原因:

静态常量

static 和 const可以使用 staticconst 定义只在局部作用的静态常量:比如 TableViewCell 的高度等

static const CGFloat kCellHeight = 12.;
上一篇下一篇

猜你喜欢

热点阅读