swiftでの通知

992 ワード

swift 3の通知は若干変更されており、これだけ記録して通知する
NotificationCenter.default.post(name: NSNotification.Name(rawValue: PSNOTIFICATION_MESSAGE_SHOULDSHOW), object: nil, userInfo: [PSNOTIFICATION_BOOL_FOR_MESSAGESHOW : "YES"])

通知の受信
 NotificationCenter.default.addObserver(self, selector: #selector(receiveNewMessages(notifiacation:)), name: NSNotification.Name(rawValue: PSNOTIFICATION_MESSAGE_SHOULDSHOW), object: nil)

メッセージの処理
 func receiveNewMQMessages(notifiacation:NSNotification) {
        let judge:Bool = (notifiacation.userInfo![PSNOTIFICATION_BOOL_FOR_MESSAGESHOW] as? String) == "YES" ?  true:false;
        if judge == true {
            
        }else {
            
        }
        
    }

すべては何の違いもないように見えますが、確かに少し違いがあります.userInfoが要求しているkeyはAnyHashableタイプだからです.
let PSNOTIFICATION_BOOL_FOR_MESSAGESHOW :AnyHashable = AnyHashable.init("BOOLFORMESSAGESHOW ")