你的位置:首页 > 软件开发 > 操作系统 > @Property补充(重写父类Property)

@Property补充(重写父类Property)

发布时间:2015-09-03 15:00:06
最近在做项目是发现了一个关于@property的问题,因为需求子类有个和父类一样的属性,然后问题就出现了。于是博主就新建了个项目来测试这个问题。看图↓~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~TestClass1 ...

@Property补充(重写父类Property)

最近在做项目是发现了一个关于@property的问题,因为需求子类有个和父类一样的属性,然后问题就出现了。

于是博主就新建了个项目来测试这个问题。看图↓

@Property补充(重写父类Property)

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

@Property补充(重写父类Property)

TestClass1继承NSobject,TestClass2继承TestClass1,有个共同的属性name。

如果是这样直接设置或者访问TC2的name属性是没什么问题的,继续看图↓

@Property补充(重写父类Property)

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

@Property补充(重写父类Property)

读者可能会觉得很奇怪吧,查阅资料发现,原来在子类重写(可能用重写来说有些不当)父类的属性,编译器不会合成带下划线的属性,则需要自己手动合成setter和getter,否则这个属性将由父类实现,这时候应该明白上图的原因了吧(Understand?)。

@Property补充(重写父类Property)

因为我在TC1(TC2的父类)手写了set方法

总结:当我们需要在子类重写(可能用重写来说有些不当)父类的属性的时候,最好是在子类手写set和get方法,不然你可以试试哦←_←

PS:听说这种情况在Xcode7下会有警告


 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:@Property补充(重写父类Property)

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录