objective-c - iOS里面property存在的意义是什么?
ringa_lee
ringa_lee 2017-04-17 11:16:09
[iOS讨论组]

昨天晚上看了一下苹果官方文档,里面提到Objectiv-C的Property概念。说只要按照他们的方式声明,就可以用点语法来访问对象的属性。听他们的描述好像实际运行的时候是会还原成setPropertyName/getPropertyName这样的方法来实现存取器。不知道真实情况是否是这样?如果是这样的话那Property存在的意义是什么?为何不直接声明为public的成员变量....

ringa_lee
ringa_lee

ringa_lee

全部回复(5)
巴扎黑

@property是给编辑器看的。就算你不声明@property,在obj的@implenmention下写好valueA和setValueA,还是可以obj.valueA赋值或取值,但是没有自动联想。

只声明@property而不去实现,在Xcode4.4以后会自动帮你生成get和set方法,这是另外一码事。

和public的成员变量有何区别:property可以自己实现存取方法。

阿神

@property(xxxx)就是自动根据规则生成getter和setter。Objc的setter要比java什么的复杂,涉及retain,release之类的。当然你也可以完全自己实现。
访问成员变量的->用法已经deprecate了。

黄舟

@property 可以更好的管理内存
而且可以享受简便的访问

巴扎黑

Property存在的意义就是在你赋值或取值的时候能够做一些其他的事情,例如取了之后自增1,又或者设置之后需要更新其他的成员变量。

怪我咯

就是getter & setter的作用~~~~

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号