2017-01-09 2 views
0

http POSTを使用してJSON配列を取得してtableviewcontrollerを作成しようとしています。これは私が今持っているコードです:配列を反復してtableviewcellsを取り込むためのSwiftメソッド

let myJSON = try JSONSerialization.jsonObject(with: data!, options: []) as! NSArray 
    print (myJSON) 
    let testArr = myJSON[0] as! [String:Any] 
    print (testArr) 
    let testVar = testArr["Username"] as! String 
    print (testVar) 

    for object in myJSON { 
     //error line below 
     guard let cellItem = History1(name: object.Username, status: "Placeholder") else { 
      fatalError("cannot create") 
     } 
     self.history1s += [cellItem] 
    } 

mysql文の "SELECT * FROM USER"からのjson応答です。今すぐエラーが発生しました "タイプの値 'Any'にメンバー 'Username'がありません。ユーザー名を角括弧で囲むとエラー"ユーザーが未解決の識別子のユーザー名 "

私は本当に理解できません。

私はこの方法に近づくと根本的に何かが間違っていると思います。私はSwiftで非常に新しく、多くの用語が私には意味をなさないかもしれません。理解されるであろう。

+0

投稿したコードを修正してください。あなたは確かにあなたが投稿した2行目を望んでいません。 – rmaddy

+0

ヒント: 'for'ループの' object'は 'testArr'変数と同じです。 – rmaddy

+0

@rmaddy "オブジェクト[" Lock_ID "]を" String "として使用しようとしましたが、エラーが発生しました。型NSFastEnumerationIteratorElementには添え字メンバーがありません... –

答えて

0

あなたがキーでループにしてみてくださいし、キー

for key in myJSON.keys { 
//error line below 
guard let cellItem = History1(name: myJSON[key].Username, status: "Placeholder") else { 
fatalError("cannot create") 
} 
self.history1s += [cellItem] 
} 
でオブジェクトを取得することができます
関連する問題