kitoko552.memo

kitoko552のメモ

AnyObject型をDictionaryにキャストする

AnyObject型をDictionaryにキャストしたいときは、以下のように書きます。

// let dict = anyObject as [String : AnyObject] これではだめ 
let dict = anyObject as Dictionary<String, AnyObject>

おそらくキャストがうまくいかないので、そのときはif let文等で対処してください。

これは例えば、Swiftjsonデータをデシリアライズするときに使えます。

let dataSourceJSON: AnyObject? = NSJSONSerialization.JSONObjectWithData(data, options: .AllowFragments, error: nil)

if let deserializedData = dataSourceJSON as? Dictionary<String, [AnyObject]> {
    // Do something
}

※ 参考リンク stackoverflow.com