昨天晚上看了一下苹果官方文档,里面提到Objectiv-C的Property概念。说只要按照他们的方式声明,就可以用点语法来访问对象的属性。听他们的描述好像实际运行的时候是会还原成setPropertyName/getPropertyName这样的方法来实现存取器。不知道真实情况是否是这样?如果是这样的话那Property存在的意义是什么?为何不直接声明为public的成员变量....
@property是给编辑器看的。就算你不声明@property,在obj的@implenmention下写好valueA和setValueA,还是可以obj.valueA赋值或取值,但是没有自动联想。
只声明@property而不去实现,在Xcode4.4以后会自动帮你生成get和set方法,这是另外一码事。
和public的成员变量有何区别:property可以自己实现存取方法。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。