xcode 4.1中的释放函数

时间:2011-10-20 13:11:26

标签: iphone objective-c release dealloc

我最近一直在努力学习iphone开发的目标C,但是我买了一本关于iPhone 3开发的书,所以它已经过时了。我注意到书籍示例和xCode默认代码中的代码布局存在差异。 我的问题是使用-void(dealloc)函数。

我创建了一个基本的“基于视图”的项目,在我的书中它说明在我的viewController.m文件中有一个“dealloc”函数但是在xcode 4.1中,viewController.m中没有dealloc函数唯一的dealloc函数在AppDelegate.m文件中找到id。

所以我的问题是,最后:

如果我在视图controller.m

中合成一个实例变量
    @synthesize nameField;
然后我在viewController.m中创建一个dealloc函数来释放那个变量吗?

    - (void) dealloc
    {
        [nameField release];
        [numberField release];
        [super dealloc];
    }

1 个答案:

答案 0 :(得分:3)

这取决于您为nameField声明的属性是分配,保留还是复制(您应该查看内存管理指南以了解这一点)。基本上,如果属性是保留或复制,那么您应该在dealloc方法中释放它。否则你不应该。