美文网首页
属性和成员变量

属性和成员变量

作者: Rumbles | 来源:发表于2018-07-11 12:09 被阅读21次

    1.现在的编译器

    @interface GBViewController :UIViewController
    @property (nonatomic, strong) NSString *myString;
    @end
    
    这是编译器 会给我们默认生成getter/setter方法  而且 还会生成_myString的成员变量
    
    以前属性的正常写法需要成员变量+ @property + @synthesize 成员变量三个步骤
    @interface ViewController ()
    {
       // 1.声明成员变量
        NSString *myString;  
     }
     //2.在用@property
    @property(nonatomic, copy) NSString *myString;  
    @end
    
    @implementation ViewController
    //3.最后在@implementation中用synthesize生成set方法
    @synthesize myString;   
    @end
    
    @interface MyViewController :UIViewController
    {
        NSString *name;
    }
    @end
    在这段代码里面只是声明了一个成员变量,并没有setter/getter方法。所以访问成员变量时,可以直接访问name,也可以像C++一样用self->name来访问,但绝对不能用self.name来访问
    

    属性 和成员变量 是两个东西

    属性:Objective-C 声明属性特性提供了一个简单的方式来声明以及实现一个变量访问其方法

    属性会生成 会给我们默认生成getter/setter方法 而且 还会生成_myString的成员变量

    我们能否认为新编译器LLVM下的@property name==
    老编译器GCC的 成员变量+ @property + @synthesize 成员变量呢name?

    其实基本差不多的 就是 操作的成员变量不一样 前面是_name 后面是name而已

    相关文章

      网友评论

          本文标题:属性和成员变量

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