2017-01-09 73 views
0

我想使用http POST來獲取JSON數組來填充我的tableviewcontroller。這是我現在的代碼:Swift方法迭代通過數組填充tableviewcells

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] 
    } 

myJSON是來自mysql語句「SELECT * FROM USER」的json響應。現在我有錯誤「任何類型的值沒有成員'用戶名'。用方括號中的用戶名給我錯誤」用戶未解析的用戶名「

我不明白爲什麼打印工作,但下面的循環沒有。

我覺得我接近這種方法有一些根本性的錯誤我在Swift很新,所以很多術語可能對我沒有意義。可以理解的。

+0

請修正您發佈的代碼。你當然不希望你發佈的第二行。 – rmaddy

+0

提示:'for'循環中的'object'等價於'testArr'變量。 – rmaddy

+0

@rmaddy我嘗試使用「對象[」Lock_ID「]作爲!字符串」但現在我有一個錯誤類型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] 
} 
嘗試循環,然後獲取對象