【发布时间】:2014-12-02 07:20:58
【问题描述】:
我在互联网上搜索了 iOS 中的 @property 并得到了不需要显式使用 setter 和 getter 方法的答案。除了所有这些答案之外,您能否解释一下在 iOS 应用程序开发中使用 @propert 的确切好处。
它有什么好处以及何时使用?
谢谢。
【问题讨论】:
标签: ios properties using-directives
我在互联网上搜索了 iOS 中的 @property 并得到了不需要显式使用 setter 和 getter 方法的答案。除了所有这些答案之外,您能否解释一下在 iOS 应用程序开发中使用 @propert 的确切好处。
它有什么好处以及何时使用?
谢谢。
【问题讨论】:
标签: ios properties using-directives
OOP 基础(面向对象编程) - 您将所有 ivars / 属性隐藏到外部世界。
@property 特定于 Objective-C,它创建 ivars,您可以选择使用编译器定义的 setter 和 getter,或者由 @synthesize 创建自己的。
对于 Objective-C 和其他 OOP 语言(例如 ivars/properties 是私有的/受保护的/公共的)而言,仍然存在一些差异。有一些方法可以设置它的访问说明符。
如果您对 ivars 和属性感兴趣,主要优势之一是 KVO(键值观察器),它可以帮助您最小化代码,并且只需 self.property 名称就足够了。
【讨论】: