我想在视图控制器生命周期结束时执行一些清理,即删除NSNotificationCenter个通知.实现dealloc会导致Swift编译器错误:

Cannot override 'dealloc' which has been marked unavailable

在Swift中,在对象生命结束时执行清理的首选方式是什么?

推荐答案

deinit {
    // perform the deinitialization
}

Swift Documentation人中:

在调用类实例之前立即调用deinitializer

通常情况下,您不需要在

Swift相关问答推荐

Swift 5.10:无法从非隔离的deinit访问属性*,这是Swift 6中的错误''''

如何分解阿拉伯字母?

在按下按钮动画后执行按钮动作

在数组中查找最大y值的x值

将matchedGeometryEffect 应用于列表视图内的视图时,列表视图中的项目会受到影响 - SwiftUI

为什么无法在 Swift 中使用AVFoundation扫描 QRCode

在 SwiftUI 中禁用 Select 器选项

数组中某些元素的总和

在领域 SwiftUI 异常中使用 Apple 登录:无法识别的 Select 器发送到实例

如何在 AppDelegate for Cocoa macOS 中创建 mainMenu 和菜单项?

如何在 SwiftUI 中获取视图的位置

try 制作一个 Swift 扩展来替换字符串中的多次出现

Vapor Swift 如何配置客户端连接超时

在 SwiftUI 中,如何在 UIView 内或作为 UIView 使用 UIHostingController?

在 Swift 4 中,如何删除基于块的 KVO 观察者?

FCM 后台通知在 iOS 中不起作用

如何在 Swift 中将对象归零

UILabel 文本不换行

应用程序包不包含有效标识符

'类 'className' 的 NSManagedObject 必须具有有效的 NSEntityDescription.错误