iOS 13 在 UICollectionViewCell 自定义中删除观察者 Class
iOS 13 Remove Observer in UICollectionViewCell custom Class
大家好,我需要在我的 UICollectionViewCell
自定义 Class 中添加 2 个观察者。
我是这样实现两个观察者的
override init(frame: CGRect) {
super.init(frame: frame)
NotificationCenter.default.addObserver(self, selector: #selector(disablePreviousMinutes), name: NSNotification.Name(rawValue: "NotificationIdentifier"), object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(enableMinute), name: NSNotification.Name(rawValue: "NotificationIdentifier2"), object: nil)
}
现在我想知道如何从我的 UICollectionViewCell
class
中删除观察者
我尝试调用 override func willMove(toWindow newWindow: UIWindow?)
但是这样所有插入的函数都会对所有单元格重复
从 UICollectionViewCell
自定义 class 中删除观察者的最佳方法是什么?
只是给出一个简短的评论,这样你就可以将这个问题标记为已解决。
如您所见,自 iOS 9 起,您无需手动从 NotificationCenter 中删除观察者。它们会自动删除。
如果您仍然想删除它们,您可以在 deinit()
中安全地这样做
大家好,我需要在我的 UICollectionViewCell
自定义 Class 中添加 2 个观察者。
我是这样实现两个观察者的
override init(frame: CGRect) {
super.init(frame: frame)
NotificationCenter.default.addObserver(self, selector: #selector(disablePreviousMinutes), name: NSNotification.Name(rawValue: "NotificationIdentifier"), object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(enableMinute), name: NSNotification.Name(rawValue: "NotificationIdentifier2"), object: nil)
}
现在我想知道如何从我的 UICollectionViewCell
class
我尝试调用 override func willMove(toWindow newWindow: UIWindow?)
但是这样所有插入的函数都会对所有单元格重复
从 UICollectionViewCell
自定义 class 中删除观察者的最佳方法是什么?
只是给出一个简短的评论,这样你就可以将这个问题标记为已解决。
如您所见,自 iOS 9 起,您无需手动从 NotificationCenter 中删除观察者。它们会自动删除。
如果您仍然想删除它们,您可以在 deinit()
中安全地这样做