iOS 静态变量、静态常量、全局变量

2016-12-04  本文已影响405人  ReidWang

1、静态变量:

static 修饰的变量,是一个私有的全局变量;在 OC 中 static 修饰的变量只作用于它声明所在的 .m 实现文件中,同时必须放 @implementation 外面或方法中,它只在程序启动初始化一次。

static int duration;

2、静态常量:

当被 static 修饰的变量同时被 const 修饰时,改变量变为常量,不可变,并且“只在编译单元内可见”,常用来替代 #define 宏,这样当修改其值时,编译起会报错。

static const NSTimeInterval AnimationDuration = 0.5;

static NSString *const AnimationName = @"Fade";

3、全局变量/常量:

extern 修饰的变量,是一个全局变量,当同时被 const 修饰时,变为一个全局常量,在头文件中使用 extern 来声明全局常量,并在相关实现文件中定义其值。这种常量要出现在全局符号表中,所以其名称应该加以区隔,通常与之相关的类名做前缀。

// .h 文件

extern NSString *const WCYAnimationName;

// .m 文件

NSString *const WCYAnimationName = @"Fade";

上一篇 下一篇

猜你喜欢

热点阅读