我是否必须在 swift 中删除内置的观察器?



所以我有一个登录页面,在后台有一个视频循环,我使用以下代码完成了此操作:

videoPlayer.play()
NotificationCenter.default.addObserver(forName: .AVPlayerItemDidPlayToEndTime, object: videoPlayer.currentItem, queue: .main) { [weak self] _ in
self?.videoPlayer?.seek(to: CMTime.zero)
self?.videoPlayer?.play()
}

问题是我是否必须在deinit或其他东西上删除这个观察者,如果是这样,我该如何删除.AVPlayerItemDidPlayToEndTime观察者。不确定删除这些内置观察器时的语法。

当控制器被关闭时,Swift 会自动取消初始化内置的可观察量 - 只需使用以下函数。

deinit {
// Release all resources
// perform the deinitialization
}

这里也提出了一个类似的问题。

Swift deinit

最新更新