抱歉标题不好,我不知道还有什么可以称呼这个问题。无论如何,假设我有以下内容:
@synthesize display = _display
我的问题是 display 和 _display 有什么区别?每个指的是什么?
澄清一下,我知道 @synthesize 做了什么(它创建了 getter 和 setter),但我不确定 display 和 _display 指的是什么区别。
我精通java,所以尽可能将你的答案与它联系起来。
谢谢
抱歉标题不好,我不知道还有什么可以称呼这个问题。无论如何,假设我有以下内容:
@synthesize display = _display
我的问题是 display 和 _display 有什么区别?每个指的是什么?
澄清一下,我知道 @synthesize 做了什么(它创建了 getter 和 setter),但我不确定 display 和 _display 指的是什么区别。
我精通java,所以尽可能将你的答案与它联系起来。
谢谢
display
是属性的名称。它还会影响 getter 和 setter 的调用方式。
_display
是属性将访问的对象中的基础字段。有些人喜欢让它和属性一样——这种行为是默认发生的,所以很容易;有些人喜欢在他们的字段前加上下划线。(有些疯子也喜欢用完全不同的名字,但他们疯了。)
您可以使用该表单
property=ivar
来指示应将特定实例变量用于属性,例如:
@synthesize firstName, lastName, age=yearsOld;
这指定了 、 和 的访问器方法
firstName
应该lastName
被age
综合,并且属性age
由实例变量表示yearsOld
。
这就是说 display getter 和 setter 提供对 _display 成员变量的访问。
您可以使用它在外部重命名您的属性。