美文网首页
iOS 静态变量、静态常量、全局变量

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

作者: ReidWang | 来源:发表于2016-12-04 16:24 被阅读405次

    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";

    相关文章

      网友评论

          本文标题:iOS 静态变量、静态常量、全局变量

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