在viewWillDisappear中释放对象

时间:2012-05-01 17:59:27

标签: iphone objective-c cocoa-touch memory-management uiviewcontroller

在viewWillDisappear中释放对象是否安全?假设这些对象将再次在viewWillAppear上重新创建。

所以,这就是我写作的方式。这样做有什么害处吗?

- (void)dealloc {
    [self releaseObjects];
    [super dealloc];
}

- (void)releaseObjects {
    self.request = nil;
    self.loadingOverlay = nil;
    self.textView = nil;
    self.label = nil;
    self.endPoint = nil;
}

- (void)viewWillDisappear:(BOOL)iAnimated {
    [super viewWillDisappear:iAnimated];
    [self releaseObjects];
}

2 个答案:

答案 0 :(得分:2)

通常,您在创建变量的“伴侣”功能中释放变量。因此,如果您在viewWillAppear中创建它们,那么您将在viewWillDisappear中释放它们。 viewWillLoad,在viewWillUnload中发布等等。

是的,这很正常。

答案 1 :(得分:1)

它不应该破坏任何东西,但它可能是浪费...说vc在选项卡上,用户反复切换选项卡。你将做很多额外的免费/分配工作。

除非有异常耗费资源的东西,否则我会把它留给操作系统让我知道我应该为那个目的做出的钩子释放内存:didReceiveMemoryWarning,dealloc等。

相关问题