阅读一些关于属性和实例变量的Objective-C手册,我遇到了很多句子,例如
readwrite
属性将由实例变量支持。
或
属性通常由带有前导下划线的实例变量支持,因此创建名为
firstName
的属性将具有名称为_firstName
的后备实例变量
什么是"支持"变量?为什么文本使用"返回"一词?这到底是什么意思?
在实现Objective-C类的属性的上下文中,"back"一词意味着"为属性的价值提供存储"。
从某种意义上说,单词"back"与单词"front"相反:实现属性的getter和setter的方法提供了一个"front",类的用户通过它与属互,而变量为存储值的方法提供了"back"位置。
属性是语法糖,通常提供访问器方法(用于读取的 getters,用于写入的 setter),这些方法与为您合成的实例变量进行接口。因此,实例变量维护对基础对象的引用,但属性的访问器方法确保遵循所有适当的内存语义(以及其他内容)。因此,实例变量被视为"支持"属性。
请参阅 Apple 核心竞争力文档中声明的属性讨论。
简单地说,这里的"backby"的意思是"存储到",用"后端"的意思说。
所以
readwrite
属性将由实例变量支持。
只是意味着
readwrite
属性将存储到实例变量中。