9

就像我在接口 .h 文件中声明即时变量 (iVar) 和 @property 一样有一段时间了。

@interface MainGameViewController : UIViewController {
     UserFactorsViewController *userFactorsViewController;
     UITableView *myTableView;
}
@property (nonatomic, retain) UserFactorsViewController *userFactorsViewController;
@property (nonatomic, retain) IBOutlet UITableView *myTableView;

在自动引用计数下,我是否应该放弃 iVar 并全部使用 @property?我什至应该在财产中使用“保留”一词吗?如果我正在为 iOS 4.3 进行部署,我还应该使用 ARC 吗?

4

1 回答 1

10

不要觉得自己像个笨蛋,即使编译器会为你添加 ivars,如果你不包含它们,许多人仍然声明它们(许多书籍作者也是如此)以使代码更易于阅读(更容易区分 ivar 和属性)。

现在在创建属性时,Apple 希望您从对象图的角度进行思考,因此对“强”和“弱”属性属性进行一些研究,而不是保留和释放。

此外,iOS 4 被设置为 ARC 的目标,所以你应该没问题。但我相信,如果您想支持 iOS 3.0,您将不得不像以前一样手动管理保留和发布。

于 2011-08-23T16:40:36.303 回答