相关疑难解决方法(0)

我什么时候应该在 - (void)viewDidUnload而不是-dealloc中释放对象?

有什么-(void)viewDidUnload好处?

难道我不只是RELASE一切-dealloc?如果视图卸载了,-dealloc反正不会被调用?

iphone cocoa-touch memory-management objective-c ios

103
推荐指数
7
解决办法
3万
查看次数

跟进viewDidUnload与dealloc问题

澄清问题作为后续行动:

我应该在viewDidUnload中做些什么? 我什么时候应该在 - (void)viewDidUnload而不是-dealloc中释放对象?

因此,假设存在内存错误,视图被隐藏,并且调用了viewDidUnload.我们做发布和零舞蹈.之后不需要整个视图堆栈,因此调用dealloc.因为我已经在viewDidUnload中有release和nil的东西,所以我没有在dealloc中使用它.完善.

但是如果没有低内存错误,则永远不会调用viewDidUnload.dealloc被调用,因为我没有release和nil的东西,所以有内存泄漏.

换句话说,如果没有首先调用viewDidUnload,是否会调用dealloc?

实际的后续操作就是,如果我在viewDidLoad中分配和设置一些内容,并在viewDidUnload中将其释放并设置为nil,我是否将其保留为dealloc,或者我是否在dealloc中执行防御性nil检查并释放/没有它,如果它不是零?

iphone memory-management objective-c

7
推荐指数
1
解决办法
3028
查看次数