美文网首页
IOS关键字const/static/extern/synthe

IOS关键字const/static/extern/synthe

作者: type雨过 | 来源:发表于2018-06-15 17:23 被阅读0次

    const

    const用来修饰右边的基本变量或指针变量
    被修饰的变量只读,不能被修改

    int const a = 10;
    const int a = 10;
    //两种写法是一样的效果
    int  const  *p   //  *p只读 ;p变量
    int  * const  p  // *p变量 ; p只读
    const  int   * const p //p和*p都只读
    int  const  * const  p   //p和*p都只读
    

    static

    修饰变量保证局部变量永远只初始化一次,在程序的运行过程中永远只有一份内存。

    -(void)click{
    int i = 0;
          i++;
    //这里i永远为1
    }
    
    -(void)click{ 
    //局部静态变量
    static int i = 0;
          i++;
    //这里i永远为就可以正常递增了
    }
    

    修饰全局变量

    @implementation name
    //全局静态变量。可以让外界无法通过extern访问
    static int  i = 9;
    

    extern

    它的作用是声明外部全局变量

    .h文件去生命
    extern NSString * const name;
    extern NSInteger  const count;
    .m中去实现
    NSString *const name = @"张三";
    NSInteger const = 3;
    

    只要导入头文件就可以使用这些全局的变量或者常量
    开发中会专门定义一个类去管理这些变量常量

    synthesize

    之前@property name声明的属性,还不是自动生成set 和 get 方法
    需要在.m 文件里@synthesize name;这样就会自动生成。
    后面@property 的完善 就不用 在用 @synthesize 了;
    下面是目前会使用到的一个列子

    //.h声明
    {
    int  _a;
    }
    @property int a;
    //.m实现
    //这样_a  和a 就不会冲突
    @synthesize a;
    

    【初来匝道请大家多多指教】

    相关文章

      网友评论

          本文标题:IOS关键字const/static/extern/synthe

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