Objective-C声明属性中的“back”是什么意思?

3
阅读一些关于属性和实例变量的 Objective-C 手册时,我经常遇到像这样的句子:
“一个可读写的属性将由一个实例变量来支持。”
或者
“属性通常由一个具有前导下划线的实例变量来支持,因此创建一个名为 firstName 的属性将具有名为 _firstName 的支持实例变量。”
什么是“支持”变量?为什么文本使用“back”这个词?它确切地意味着什么?

1
属性就像是一个“假象”。它的背后是某种真实的变量。 - undefined
3个回答

4
在实现Objective-C类的属性时,“back”一词指“提供属性值的存储”。从某种意义上说,“back”和“front”相反:实现属性getter和setter方法的方法提供“front”,使类的用户与属性交互,而变量则提供“back”位置以供方法存储值。

3
属性是语法糖,通常提供访问器方法(getter 读取,setter 写入),这些方法与为您合成的实例变量进行交互。因此,实例变量维护对底层对象的引用,但属性的访问器方法确保遵循所有适当的内存语义(以及其他事项)。因此,实例变量被认为是“支持”属性的。请参见苹果公司《核心竞争力》文档中有关声明属性的讨论。

1
简单来说,这里的“backed by”意味着“存储到”,用一种“后端”的方式来说。
所以,
一个`readwrite`属性将会被实例变量所支持。
只是意味着
一个`readwrite`属性将会被存储到一个实例变量中。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接