Iphone 释放视图中的对象将消失
释放ViewWill中的对象是否安全?假设这些对象将再次在ViewWillDisplay上重新创建 我就是这样写的。这样做有什么害处吗Iphone 释放视图中的对象将消失,iphone,objective-c,cocoa-touch,memory-management,uiviewcontroller,Iphone,Objective C,Cocoa Touch,Memory Management,Uiviewcontroller,释放ViewWill中的对象是否安全?假设这些对象将再次在ViewWillDisplay上重新创建 我就是这样写的。这样做有什么害处吗 - (void)dealloc { [self releaseObjects]; [super dealloc]; } - (void)releaseObjects { self.request = nil; self.loadingOverlay = nil; self.textView = nil; self
- (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];
}
通常,在创建变量的函数的“companion”函数中释放变量。因此,如果在ViewWillDisplay中创建它们,则在ViewWillEnglish中释放它们。viewWillLoad、viewWillUnload中的释放等
所以是的,这是正常的。它不应该破坏任何东西,但它可能是浪费。。。假设vc位于选项卡上,用户在选项卡之间重复切换。你会做很多额外的免费/免费工作
除非有不寻常的资源消耗,否则我会让操作系统告诉我,我应该使用为此目的而设计的挂钩释放内存:didReceiveMemoryWarning、dealloc等。但这不是意味着每次用户在选项卡之间反复切换时,我都会创建自动释放的对象吗。此外,在我关闭视图控制器之后,我看不到dealloc被调用。我这样做是因为我看到我的应用程序中出现了内存警告-一天2-3次!