gpt4 book ai didi

ios - ARC 项目中的 "Missing [super dealloc]"警告

转载 作者:可可西里 更新时间:2023-11-01 04:21:35 25 4
gpt4 key购买 nike

我已经将一个项目重构为 ARC。看起来不错,但是有一个对象使用了通知中心。我在自定义 dealloc 方法中删除了观察者。这在非 ARC 项目中运行良好。它也适用于 ARC,但我收到一个疯狂的警告:“方法可能缺少 [super dealloc] 调用。”在 ARC 项目中,当方法结束时,它会自动为我完成。更好的是:我不能在 ARC 项目中调用它!这一定是 XCode 的错误,对吧?这是我的代码:

- (void)dealloc {
[[NSNotificationCenter defaultCenter] removeObserver:self];
// [super dealloc]; will be called automatically
}

我一直想编写不抛出警告的代码。有办法解决那个黄色感叹号吗?

最佳答案

将以下行放入您的 dealloc 方法中,以确保它是在启用 ARC 的情况下编译的:

#if ! __has_feature(objc_arc)
#error "ARC is off"
#endif

如果您在构建时遇到编译器错误,您确定 ARC 已关闭并且必须查找原因。它可能在您的目标中的每个文件build设置中。

关于ios - ARC 项目中的 "Missing [super dealloc]"警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12156379/

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