因此,我有一个登录页面,该登录页面在后台循环播放视频,并使用以下代码完成了此操作:
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观察器。删除这些内置观察者时,语法不确定。
答案 0 :(得分:1)
在关闭控制器后,Swift会自动取消内置的可观察对象的初始化-只需使用以下功能即可。
deinit {
// Release all resources
// perform the deinitialization
}
还有一个类似的问题here.