释放视图中的对象将消失



释放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];
}
通常,

您会在创建变量的函数的"配套"函数中释放变量。 因此,如果您在viewWillAppear中创建它们,则可以在viewWillDisappear中释放它们。 viewWillLoad, release in viewWillUnload, etc.

所以是的,这是正常的。

它不应该破坏任何东西,但它可能是浪费...假设 VC 位于选项卡上,并且用户在选项卡之间反复切换。 您将做很多额外的免费/分配工作。

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

最新更新