gpt4 book ai didi

iphone - 在 Objective C 的 dealloc 中使用 setter?

转载 作者:行者123 更新时间:2023-11-28 18:14:06 25 4
gpt4 key购买 nike

以下代码有什么问题吗?

- (void) dealloc {
self.foo = nil;
}

代替

- (void) dealloc {
[_foo release];
_foo = nil;
}

最佳答案

不做前者有两个原因:

  1. 如果子类重写了 setter,释放可能不会真正发生。

  2. 使用 setter 可能会触发 KVO 通知,并且观察者将从技术上不存在的对象接收到通知。

另一方面,如果您使用 ARC,则无需执行任何操作。

关于iphone - 在 Objective C 的 dealloc 中使用 setter?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8522359/

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