經過 RxSwift 優雅使用 NotificationCenter

原文swift

純粹的官方代碼使用NotificationCenter真的很難用,可是有了RxSwift,就變得方便了不少。post

修改 Podfile,經過pod引入RxSwift
pod 'RxSwift'
  pod 'RxCocoa'
經過 RxSwift 註冊監聽器
import RxSwift
import RxCocoa

let notificationName = Notification.Name("UploadStatus")
NotificationCenter.default.rx.notification(notificationName).subscribe(onNext: { notification in
    if(notification.object != nil){
        print("上傳狀態:\(notification.object!)")
    }
    if(notification.userInfo != nil){
        print("參數:\(notification.userInfo!)")
    }
})
發送通知
let notificationName = Notification.Name("UploadStatus")
NotificationCenter.default.post(name: notificationName, object: "上傳失敗")

NotificationCenter.default.post(name: notificationName, object: nil, userInfo: ["param1":"Wiki","param2":18])
相關文章
相關標籤/搜索