Ios 解除锁定方法从XCode 4.1 UIViewController模板中消失

Ios 解除锁定方法从XCode 4.1 UIViewController模板中消失,ios,ios4,uiviewcontroller,dealloc,xcode4.1,Ios,Ios4,Uiviewcontroller,Dealloc,Xcode4.1,在开始开发iOS应用程序时,我一直在使用XCode 3.2.4,但现在我转向使用iOS 4.3 SDK的XCode 4.1。我注意到,现在当我从XCode模板创建UIViewController类时,方法不会像在XCode 3中那样自动添加。 通过互联网搜索使我意识到,如果我使用ARC(自动引用计数)创建项目,这可能会发生,但据我所知,该功能仅在XCode 4.2中实现 我是否应该手动添加解除锁定方法?当不使用ARC时,是。。。像往常一样使用dealloc方法 如果启用了ARC,则当显式使用de

在开始开发iOS应用程序时,我一直在使用XCode 3.2.4,但现在我转向使用iOS 4.3 SDK的XCode 4.1。我注意到,现在当我从XCode模板创建UIViewController类时,方法不会像在XCode 3中那样自动添加。 通过互联网搜索使我意识到,如果我使用ARC(自动引用计数)创建项目,这可能会发生,但据我所知,该功能仅在XCode 4.2中实现


我是否应该手动添加解除锁定方法?

当不使用ARC时,是。。。像往常一样使用
dealloc
方法

如果启用了ARC,则当显式使用
dealloc
时,应该会收到警告。 还要检查项目的生成设置,以获得额外的安全性。您可以使用在Xcode 4.1中使用Xcode 4.2创建的项目


在这种情况下,ARC设置将位于底部,而不是通常的位置,因为它不应该被Xcode 4.1识别。

您可以继续添加dealloc。如果确实启用了ARC,您将收到来自编译器的投诉


即使在使用ARC时,如果您除了需要释放对象(例如,取消重新注册观察者)之外,有时还需要执行dealloc操作。

您将收到有关
释放的警告<代码>解除锁定
在某些情况下仍然是允许的。在解除锁定中,您通常需要调用[超级解除锁定]。这也会产生一个错误。事实上,我查阅了我的项目的构建设置,没有关于XCode版本的信息。然而,当我在XCode 4.1中从头开始创建项目时,出现了我在问题中提到的情况。@MacMake,在使用ARC时,您不需要(实际上不应该)在
-(void)dealoc
方法中添加
[super dealoc]
。请阅读“使用ARC发行说明编程”中的“ARC强制执行新规则”部分更多细节。当我添加dealloc方法时,编译器没有抱怨。但我想知道,为什么自动dealloc方法消失了。那听起来像是Xcode中的一个bug。也许你想向苹果公司提交一份报告?