2

阅读一些关于属性和实例变量的 Objective-C 手册,我遇到了很多类似的句子

属性readwrite将由实例变量支持。

或者

属性通常由带有前导下划线的实例变量支持firstName,因此创建一个名为的属性将具有一个具有名称的支持实例变量_firstName

什么是“支持”变量?文中为何用“回”字?究竟是什么意思?

4

3 回答 3

3

在实现 Objective-C 类的属性的上下文中,“返回”一词的意思是“为属性值提供存储”。

在某种意义上,“back”这个词与“front”这个词相反:实现属性的getter和setter的方法提供了一个“front”,类的用户通过它与属性交互,而变量提供了“back” " 存储值的方法的位置。

于 2014-12-29T03:47:20.017 回答
2

属性是语法糖,通常提供与为您合成的实例变量接口的访问器方法(读取的getter,写入的setter)。因此,实例变量维护对底层对象的引用,但属性的访问器方法确保遵循所有适当的内存语义(除其他外)。因此,实例变量被认为是“支持”该属性。

请参阅Apple 的核心能力文档中声明的属性讨论。

于 2014-12-29T03:48:59.653 回答
0

简单地说,这里的“支持”意味着“存储到”,在“后端”之类的说法中。

所以

属性readwrite将由实例变量支持。

只是意味着

属性将readwrite存储到实例变量中。

于 2014-12-29T03:51:28.930 回答