zl程序教程

您现在的位置是:首页 >  移动开发

当前栏目

iOS oc swift 通知的简单使用

ios 简单 swift 通知 OC 使用
2023-09-14 09:04:14 时间

swift

  • 订阅通知

NotificationCenter.default.addObserver(self, selector: #selector(disconnect), name: Notification.Name("disconnect"), object: nil)

@objc func disconnect(){
        isConnected = false
    }   
  • 发通知
 NotificationCenter.default.post(name: Notification.Name("disconnect"), object: nil)
  • 移除通知
    deinit {
       NotificationCenter.default.removeObserver(self)
   }

参考博客:
Swift 通知实现

通知传值,userInfo

  • 发通知
    func peripheral(_ peripheral: CBPeripheral, didReadRSSI RSSI: NSNumber, error: Error?) {

        NotificationCenter.default.post(name: Notification.Name("rssi"), object: self, userInfo: ["rssi":RSSI])

    }
    
  • 订阅通知
    override func viewDidLoad() {
        super.viewDidLoad()
        
        NotificationCenter.default.addObserver(self, selector: #selector(readRSSI(notice:)), name: NSNotification.Name(rawValue: "rssi"), object: nil)
        }

    @objc func readRSSI(notice:NSNotification){
         let rssi:NSNumber = notice.userInfo!["rssi"] as! NSNumber
        rssiValueLabel.text = String(rssi.intValue)
    }

参考博客:
Swift 通知NSNotificationCenter userInfo

iOS 9 以后通知不再需要手动移除

iOS 9 以后通知不再需要手动移除

oc

iOS 通知的简单使用