gpt4 book ai didi

iphone - 在 viewDidUnload 中调用 [self <>] 安全吗?

转载 作者:行者123 更新时间:2023-12-03 20:32:37 25 4
gpt4 key购买 nike

执行以下操作是否安全:

- (void) viewDidUnload {
[self cleanup] ;
[super viewDidUnload];
}

因为我听说当 View 卸载时,诸如“self”之类的东西甚至可能不以非损坏的形式存在,因此它可能不安全。安全吗?

最佳答案

这是完全安全的。当 View Controller 暂时释放 View 以节省内存时,viewDidUnload 在内存不足的情况下被调用。您只是不想在其中执行任何会访问 Controller 的 view 属性的操作,因为这会导致 Controller 再次延迟加载 View 。除此之外,在 viewDidLoad 中调用 self 的方法是完全安全的。

您可能会想到 dealloc 方法。我见过有人断言您不应该在 initdealloc 方法中调用 self 上的方法,因为您的对象可能处于部分状态初始化/释放状态。我想担心的是有人会尝试修改或覆盖您正在调用的方法,而没有意识到它是在部分形成的对象上调用的。如果您没有在 dealloc 中将已发布的属性设置为 nil,则这种风险会增加。

关于iphone - 在 viewDidUnload 中调用 [self <>] 安全吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6868625/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com