美文网首页
问题:@synthesize合成实例变量的规则是什么?假如pro

问题:@synthesize合成实例变量的规则是什么?假如pro

作者: 姜小舟 | 来源:发表于2020-05-08 09:25 被阅读0次

    @synthesize合成实例变量规则

    • 如果指定了成员变量的名称,会生成一个指定的名称的成员变量,
    • 如果这个成员已经存在了就不再生成了.
    • 如果是 @synthesize foo; 还会生成一个名称为foo的成员变量,也就是说:如果没有指定成员变量的名称会自动生成一个属性同名的成员变量,
    • 如果是 @synthesize foo = _foo; 就不会生成成员变量了.

    假如 property 名为 foo,存在一个名为 _foo 的实例变量,那么还会自动合成新变量么

    不会

    @property(nonatomic, copy) NSString *name;
    /*
    下面一行代码会报出警告 
    Auto property synthesis will not synthesize property "_name" because it cannot
    share an ivar with another synthesized property
    */
    @property(nonatomic,copy) NSString *_name;
    

    相关文章

      网友评论

          本文标题:问题:@synthesize合成实例变量的规则是什么?假如pro

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