1

抱歉标题不好,我不知道还有什么可以称呼这个问题。无论如何,假设我有以下内容:

@synthesize display = _display

我的问题是 display 和 _display 有什么区别?每个指的是什么?

澄清一下,我知道 @synthesize 做了什么(它创建了 getter 和 setter),但我不确定 display 和 _display 指的是什么区别。

我精通java,所以尽可能将你的答案与它联系起来。

谢谢

4

3 回答 3

5

display是属性的名称。它还会影响 getter 和 setter 的调用方式。

_display是属性将访问的对象中的基础字段。有些人喜欢让它和属性一样——这种行为是默认发生的,所以很容易;有些人喜欢在他们的字段前加上下划线。(有些疯子也喜欢用完全不同的名字,但他们疯了。)

于 2012-01-28T04:13:41.663 回答
3

声明的属性 - 属性实施指令

您可以使用该表单property=ivar来指示应将特定实例变量用于属性,例如:

@synthesize firstName, lastName, age=yearsOld;

这指定了 、 和 的访问器方法firstName应该lastNameage综合,并且属性age由实例变量表示yearsOld

于 2012-01-28T04:10:21.593 回答
0

这就是说 display getter 和 setter 提供对 _display 成员变量的访问。

您可以使用它在外部重命名您的属性。

于 2012-01-28T04:13:18.697 回答