2016-11-14 12 views
0

誰でもこの問題を解決できますか?私は「顧客のパラメータにNSObjectのとしてを挿入してください文字列をNSObject Swiftに変換する3

'Cannot convert value of type 'String' to expected dictionary key type 'NSObject'

let orderParameters = 

     ["customer": [  <- //Getting the error in this line 
      "first_name": "Jon", 
      "last_name":"Doe", 
      "email": "[email protected]"], 
     "shipping": "free-shipping", 
     "gateway": "dummy", 
     "bill_to": [ 
      "first_name": "Jon", 
      "last_name": "Doe", 
      "address_1": "123 Sunny Street", 
      "address_2": "Sunnycreek", 
      "city": "Sunnyvale", 
      "county": "California", 
      "country": "US", 
      "postcode": "CA94040", 
      "phone": "18768509132"], 
      "ship_to": "bill_to" 
     ] as [NSObject: AnyObject] 

:私はこの迅速なコンパイラエラーを取得していますか?

答えて

0

as [NSObject: AnyObject]の代わりに、as [AnyHashable: Any]と書きます。

これは、辞書の一般的な概念を表現するスウィフト3の方法です。

+0

で型キャストを削除します – matt

0

なぜ未指定NSObject?キーは明らかにすべてStringです。

スウィフト3では、辞書の不特定値型はAnyです。

は(ヴァディアンが言うように、それを完全に省略するか。)型注釈

let orderParameters : [String:Any] = ... 

を作成し、エンド

関連する問題