web-dev-qa-db-ja.com

swiftでAnyObjectを辞書にキャスト

AFNetworkingを使用してiTunes APIからデータを取得しており、応答を含む辞書を作成したいのですが、できません。

エラー:式のタイプ「Dictionary」をタイプ「Hashable」に変換できません

これは私のコードです:

func getItunesStore() {

        self.manager.GET( "https://iTunes.Apple.com/es/rss/topfreeapplications/limit=10/json",
            parameters: nil,
            success: { (operation: AFHTTPRequestOperation!,responseObject: AnyObject!) in
                var jsonResult: Dictionary = responseObject as Dictionary

            },
            failure: { (operation: AFHTTPRequestOperation!,error: NSError!) in
                println("Error:" + error.localizedDescription)
            })

    }
44
dpbataller

DictionaryをSwiftで定義する場合、キーと値のタイプも指定する必要があります。

var jsonResult = responseObject as Dictionary<String, AnyObject>

ただし、キャストが失敗した場合は、ランタイムエラーが発生します。次のようなものをお勧めします。

if let jsonResult = responseObject as? Dictionary<String, AnyObject> {
    // do whatever with jsonResult
}
114
Nate Cook