2016-09-15 5 views
-4

私はSwift 3に変換しました.JSONSerialization.jsonObjectをAnyObjectに割り当てると、次のエラーが発生しました。誰もがこの問題に遭遇し、修正を知っていますか?このような状況では、明示的なキャストを使用することを余儀なくされているので、戻り値の型のほとんどはAnyと意気消沈にAnyObjectから変更された最後のスウィフト3更新は、許可されていないのでJSONSerialization AnyObject SWIFT3変換の問題

enter image description here

+3

コードの画像ではなく、実際のコードを記入してください。多くの場合、コードを再現してトラブルシューティングを行う必要があります – Takarii

答えて

0

。つまり、guard文を2つ作成するか、必要な各フィールドを定義する任意の連鎖if letを使用する必要があります。可能であれば、mapfilterreduceを使用してコードをよりエレガントにすることを検討してください。例:

guard方法:

guard let object = try JSONSerialization.jsonObject(with: data) as? [[String: Any]] else { return nil } 
guard let field1 = object[0]["field1_token"] as? [Any] else { return nil } 
//do your thing 

if let方法:

if let object = try JSONSerialization.jsonObject(with: data) as? [[String: Any]], 
let field1 = object[0]["field1_token"] as? [Any] { 
//do your thing 
} 

あなたはWorking with JSON in Swift

またあなたはJSONの構文解析/マッピングlibriariesの一部を使用することができますAppleの記事をチェックすることもできますこれらのように:

SwiftyJSON

Gloss

-1

let object : Anylet object : AnyObjectを交換してください。

間違ったキャストによりエラーが表示されます。