-2

假设我有:

@interface test : NSObject {
    BOOL bVal;
}

人们一直说属性是访问 ivar 的更好方法,但他们这样做只是为了它吗?

在这种情况下,为什么我需要这个 ivar 的 @property?

我只是想知道人们是否知道他们为什么要做他们被告知的事情,或者我是否遗漏了什么。

4

1 回答 1

1

属性为您提供了一些不错的东西,例如合成的 getter 和 setter,它们肯定会以最好的方式编写,用于属性的保留/强、分配/弱、原子或非原子属性。如果您根本不需要类外部的代码来访问 ivar,那么您可能应该在实现本身中声明 ivar 并将其完全隐藏在外部,例如:

@implementation test {
    BOOL bVal;
}

您的另一个问题的答案是,这当然取决于人。是的,这个网站上有很多人在没有真正理解的情况下模仿建议和代码片段。这里也有很多人真正知道他们在说什么。

于 2013-04-04T20:22:36.920 回答