现在我使用 Objective-C 已经 5 个多月了,我也在 App Store 发布了我的第一个应用程序,但我仍然对语言的核心功能有疑问。

我什么时候应该使用 self 访问 iVars,什么时候不应该使用?

发布 socket 时,您在 viewDidUnload 中编写 self.outlet = nil ,而不是在 dealloc 中编写 [outlet release] 。为什么?

最佳答案

当您编写 self.outlet = nil 时,会调用 [self setOutlet:nil]; 方法。当您编写 outlet = nil; 时,您可以直接访问变量 outlet

如果您使用 @synthesize outlet; 则方法 setOutlet: 会自动生成,并且如果您将属性声明为 @property (retain) NSObject outlet; ,它会在分配新对象之前释放对象。

10-08 06:13