1

释放 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];
}
4

2 回答 2

2

通常,您在创建变量的“伴随”函数中释放变量。因此,如果您在 viewWillAppear 中创建它们,那么您在 viewWillDisappear 中释放它们。viewWillLoad、viewWillUnload 中的释放等。

所以是的,这是正常的。

于 2012-05-01T18:03:33.527 回答
1

它不应该破坏任何东西,但它可能会浪费......说vc在一个选项卡上并且用户反复在选项卡之间切换。你会做很多额外的 free/alloc 工作。

除非有一些异常消耗资源的东西,否则我会把它留给操作系统让我知道我应该使用为此目的制作的钩子释放内存:didReceiveMemoryWarning、dealloc 等。

于 2012-05-01T18:05:33.297 回答