gpt4 book ai didi

objective-c - Objective C 中属性必须声明为实例变量吗?

转载 作者:行者123 更新时间:2023-12-03 17:30:46 24 4
gpt4 key购买 nike

Possible Duplicate:
Properties and Instance Variables in Objective-C 2.0

如果我在头文件中创建一个 @property 并对其进行 @synthesize,即使该项目没有声明为实例变量,一切似乎都工作正常。那么为什么我看到的所有示例代码都将项目声明为属性和实例变量呢?

最佳答案

如果您还没有这样做,Objective-C 2.0 中的@property 命令会自动为您生成实例变量。这是为了限制您必须编写的重复代码量而引入的快捷方式。

仅声明 iVar 的 if:

  • 出于某种高级原因需要直接访问它们(即您想自己管理内存)
  • 您希望子类能够访问 iVar(如果您根本不指定它们,或者将它们指定为 @private,则子类将被迫使用您的 @合成的访问器方法。)
  • 您希望 iVar 的名称与属性本身不同,在这种情况下请使用 @synthesize myProperty = myInstanceVariable_

注意:如果您计划在旧设备上运行代码或使用旧版本编译代码,则需要声明 iVar。

关于objective-c - Objective C 中属性必须声明为实例变量吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5015130/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com