阻止NSNotification中的Observer调用两次,可以通过以下几种方法:
func removeObserver(_ observer: Any, forKeyPath keyPath: String)
var hasReceivedNotification = false
func notificationReceived() {
if !hasReceivedNotification {
// 执行相关操作
hasReceivedNotification = true
}
}
DispatchQueue.main.asyncAfter(deadline: .now() + 0.1) {
// 执行相关操作
}
NotificationCenter.default.removeObserver(self)
NotificationCenter.default.addObserver(self, selector: #selector(notificationReceived), name: NSNotification.Name(rawValue: "NotificationName"), object: nil, queue: nil, using: nil)
总之,阻止NSNotification中的Observer调用两次,可以通过多种方法来实现。具体选择哪种方法,需要根据具体情况进行判断和选择。
领取专属 10元无门槛券
手把手带您无忧上云