问题描述
我有一个类有一个 NSNotification 观察者,但它没有收到发布的通知。
class WebParserOperation: Operation {
let myViewController:ViewController
let thisURL:URL
init(_ myViewController:ViewController,_ thisURL:URL) {
self.myViewController = myViewController
self.thisURL = thisURL
super.init()
NotificationCenter.default.addobserver(self,selector: #selector(parseDemandPartnerData(notification:)),name: .demandPartnerjson,object: nil)
NotificationCenter.default.addobserver(self,selector: #selector(parseDemandPartnerTable(notification:)),name: .demandPartnerTable,object: nil)
}
override func main() {
myViewController.loadURL(thisURL)
}
@objc private func parseDemandPartnerTable(notification: NSNotification) {
print("woot!")
}
@objc private func parseDemandPartnerData(notification: NSNotification) {
print("ok!")
}
}
extension Notification.Name {
static let demandPartnerjson = Notification.Name("dpJSON")
static let demandPartnerTable = Notification.Name("dpTable")
}
在 ViewController 中,调用 webView didFinish 之后:
func webView(_ webView: WKWebView,didFinish navigation: WKNavigation!)
func parseWebViewHTML() {
if let webView = webView {
webView.evaluateJavaScript("document.getElementsByTagName('html')[0].innerHTML") { innerHTML,error in
if let thisHTML = innerHTML as? String {
NotificationCenter.default.post(name: .demandPartnerjson,object: nil,userInfo: ["data":thisHTML])
}
}
}
}
我从来没有收到通知。不知道我做错了什么。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)