我最近一直在努力学习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];
}
答案 0 :(得分:3)
这取决于您为nameField声明的属性是分配,保留还是复制(您应该查看内存管理指南以了解这一点)。基本上,如果属性是保留或复制,那么您应该在dealloc方法中释放它。否则你不应该。