2017-09-05 12 views
0

私はちょうどすぐに素早く学び始めました。 [String、String]データと[String、NSMutableArray]データの両方を持つ通知を投稿しようとしています。swift 4投稿通知userInfoタイプが混在(文字列とNSMutableArray)

Cannot convert value of type 'NSMutableDictionary' to expected argument type [AnyHashable : Any]? 

Iveは解決策または類似のコードを見つけようとしましたが、まだ問題を理解できませんでした。誰かが本当の問題が何であるか教えてもらえますか?私は辞書の値の種類を混在させることと関係があると考えています。もしそうなら、これは迅速にどのように行われますか?ポスト通知ライン

の「辞書」変数に

 var dict = NSMutableDictionary() 
     dict["status"] = "ok" 
     var list = NSMutableArray() 
     list.add("this") 
     list.add("is") 
     list.add("a test") 
     dict["list"] = list 

     NotificationCenter.default.post(name: Notification.Name("testing"), object: nil, userInfo: dict) <--- error 

エラーポイントは、あなたが

答えて

0

あなたはuserInfo型としてNSMutableDictionaryを使用することはできませんありがとうございました。また、それを使用してはいけません(スウィフトでNSMutableDictionaryまたはNSMutableArrayを使用する理由はほとんどありません)。代わりにvar dict: [String: Any] = [:]と答えてください(またはlet dict = […])。同様に、listNSMutableArrayではなく[String]と入力する必要があります。

let dict = ["status": "ok", 
      "list": ["this", "is", "a test"]] 
NotificationCenter.default.post(name: Notification.Name("testing"), object: nil, userInfo: dict) 
関連する問題