addObserver不会为对象参数触发

问题描述

在addobeserver中定义对象时,我会遇到问题

NotificationCenter.default.post(name: .ArticleLocalReadChanged,object: article)

...
            
// this works
nt2 = NotificationCenter.default.addobserver(forName: .ArticleLocalReadChanged,object: nil,// NIL HERE!
       queue: .main,using: { [weak self] (notification) in
    
          if (notification.object as? Article) == article {
              self?.updateRead()
          }
    
})

但是这样做(将对象定义为文章

// this DOESN'T works
nt2 = NotificationCenter.default.addobserver(forName: .ArticleLocalReadChanged,object: article,// article HERE!
    queue: .main,using: { [weak self] (_) in
    
        self?.updateRead()
    
})

该块永远不会触发...

注意:文章和接收者均未分配

为什么object: article不起作用,当检查了notification.object的变体起作用时...对我没有任何意义

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)