释放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等。