2016-09-28 10 views
8

次のコードをこのライブラリ(https://github.com/dankogai/swift-json)からSwift 3互換コードに変換しようとしています。スイフト2 3への移行jsonObject「は任意」ではないと予想文脈結果タイプ産生「ANYOBJECTか?」

私はこの行に固執しています。

obj = try JSONSerialization.jsonObject(

私が手にエラーがjsonObjectが「任意」ではなく、期待されるコンテキスト結果の型を生成している「ANYOBJECT?」

私が完全な文脈でswift 3に変換しようとする前のコードは以下の通りです。スイフト3において

public convenience init(data:NSData) { 
     var err:NSError? 
     var obj:AnyObject? 
     do { 
      obj = try NSJSONSerialization.JSONObjectWithData(
       data, options:[]) 
     } catch let error as NSError { 
      err = error 
      obj = nil 
     } 
     self.init(err != nil ? err! : obj!) 
    } 

答えて

13

idタイプについてAnyなくAnyObjectとしてインポートされます。 objのタイプをAnyに変更するか、AnyObjectにキャストしてください。

+0

あなたは私にそれがどのように見えるかの例を与えることができますか? AnyObject' –

+0

でキャストとビット錆びていますか?あなたは提案のように、私は最終的に理解してだと思います。私はself.initにエラーがあります。結果の値は '?':expressionには、JSON.NSError(aka 'NSError')と 'Any'の型が一致していません。どんなアイデアは意図していません... – rhyshort

+0

ように私がobjを変更:任意: 'OBJ = NSJSONSerialization.JSONObjectWithData([] データ、オプション)を試してみてください。私はあなただけでこれを行うことができるはずスウィフト –

関連する問題