【Swift】NotificationCenter で userInfo を使う

ひさしぶりに、NotificationCenter を使ったので覚書き。

extensions.swift

import NotificationCenter
extension Notification.Name {
static let notifyName = Notification.Name("notifyName")
}

ViewController.swift

class ViewController: UIViewController{
override func viewDidLoad() {
NotificationCenter.default.addObserver(self, selector: #selector(update(_:)), name: .notifyName, object: nil)
let url:String = "http://..."
NotificationCenter.default.post(name: .notifyName, object: self,userInfo: ["url": url])
}
@objc func update(_ notification: NSNotification){
if let userInfo = notification.userInfo {
let urlString:String = (userInfo["url"] as? String)!
print("受信したURL:\(urlString)")
}
}
}

返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA