【发布时间】:2011-03-25 22:22:17
【问题描述】:
我有一个名为 SettingsViewController 的视图控制器和一个名为 ViewAccounts 的自定义 UIView 子类。在 SettingsViewController 中,我使用下面的代码将 ViewAccounts 视图添加到 SettingsViewController。
if(!self.viewAccounts)
{
ViewAccounts *objViewAccounts= [[ViewAccounts alloc] initWithFrame:CGRectMake(0, yViews, 320, 400) withViewController:self];
[self.view insertSubview:objViewAccounts atIndex:0];
self.viewAccounts = objViewAccounts;
[objViewAccounts release];
}
问题是 ViewAccounts(UIView 的子类)的 dealloc 方法没有被调用。如果我注释这两行代码,就会调用 dealloc 方法。
[self.view insertSubview:objViewAccounts atIndex:0];
self.viewAccounts = objViewAccounts;
我想问题出在保留计数上,当我们使用 insertSubview 或 addSubiew 时它会增加 1,但是如何摆脱它。这是使用它的正确方法吗?
【问题讨论】:
标签: iphone objective-c xcode ios memory-management