创建一个发通知的对象
import UIKit
class People: NSObject {
var title = "title"
override init() {
//发送通知
NotificationCenter.default.post(name: Notification.Name(rawValue: "gameOverNotification"), object: title)
}
}
//ViewController
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
//注册通知
NotificationCenter.default.addObserver(self, selector: #selector(ViewController.makeSomething(_:)), name: NSNotification.Name(rawValue: "gameOverNotification"), object: nil)
//创建People对象时会调用init方法发送通知,注意注册与发送通知名要一致
_ = People()
}
//接收到通知后执行的方法
func makeSomething(_ title:Notification){
let str = title.object as! String
print(str)
}
//当视图消失时调用deinit方法移除通知
deinit {
NotificationCenter.default.removeObserver(self)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}