Swift 4.0 และ Xcode 9.0+:
ส่ง (โพสต์) การแจ้งเตือน:
NotificationCenter.default.post(name: Notification.Name("NotificationIdentifier"), object: nil)
หรือ
NotificationCenter.default.post(name: Notification.Name("NotificationIdentifier"), object: nil, userInfo: ["Renish":"Dadhaniya"])
รับ (รับ) การแจ้งเตือน:
NotificationCenter.default.addObserver(self, selector: #selector(self.methodOfReceivedNotification(notification:)), name: Notification.Name("NotificationIdentifier"), object: nil)
ฟังก์ชั่น - ตัวจัดการวิธีการสำหรับการแจ้งเตือนที่ได้รับ:
@objc func methodOfReceivedNotification(notification: Notification) {}
Swift 3.0 & Xcode 8.0+:
ส่ง (โพสต์) การแจ้งเตือน:
NotificationCenter.default.post(name: Notification.Name("NotificationIdentifier"), object: nil)
รับ (รับ) การแจ้งเตือน:
NotificationCenter.default.addObserver(self, selector: #selector(YourClassName.methodOfReceivedNotification(notification:)), name: Notification.Name("NotificationIdentifier"), object: nil)
ตัวจัดการวิธีสำหรับการแจ้งเตือนที่ได้รับ:
func methodOfReceivedNotification(notification: Notification) {
// Take Action on Notification
}
ลบการแจ้งเตือน:
deinit {
NotificationCenter.default.removeObserver(self, name: Notification.Name("NotificationIdentifier"), object: nil)
}
Swift 2.3 & Xcode 7:
ส่ง (โพสต์) การแจ้งเตือน
NSNotificationCenter.defaultCenter().postNotificationName("NotificationIdentifier", object: nil)
รับ (รับ) การแจ้งเตือน
NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(YourClassName.methodOfReceivedNotification(_:)), name:"NotificationIdentifier", object: nil)
ตัวจัดการวิธีสำหรับการแจ้งเตือนที่ได้รับ
func methodOfReceivedNotification(notification: NSNotification){
// Take Action on Notification
}
สำหรับเวอร์ชั่น Xcode ประวัติศาสตร์ ...
ส่ง (โพสต์) การแจ้งเตือน
NSNotificationCenter.defaultCenter().postNotificationName("NotificationIdentifier", object: nil)
รับ (รับ) การแจ้งเตือน
NSNotificationCenter.defaultCenter().addObserver(self, selector: "methodOfReceivedNotification:", name:"NotificationIdentifier", object: nil)
แจ้งลบ
NSNotificationCenter.defaultCenter().removeObserver(self, name: "NotificationIdentifier", object: nil)
NSNotificationCenter.defaultCenter().removeObserver(self) // Remove from all notifications being observed
ตัวจัดการวิธีสำหรับการแจ้งเตือนที่ได้รับ
func methodOfReceivedNotification(notification: NSNotification) {
// Take Action on Notification
}
ใส่คำอธิบายประกอบคลาสหรือวิธีการเป้าหมายด้วย @objc
@objc private func methodOfReceivedNotification(notification: NSNotification) {
// Take Action on Notification
}
// Or
dynamic private func methodOfReceivedNotification(notification: NSNotification) {
// Take Action on Notification
}