2017-01-09 43 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] 
} 
尝试循环,然后获取对象