我试图将Json数据显示在表格视图单元格中,我没有显示任何值。请让我知道我做错了什么。我的tableview正确链接到我的viewcontroller(作为数据源和委托)。
注意:到目前为止,我还没有调用self.tableview.reloadData()。如果这是需要做的事情,请告诉我在哪里打电话。我试过viewdidload()它没有用。
//json data
if let mydata = data {
do{
let myJson = try JSONSerialization.jsonObject(with: mydata, options: .mutableContainers) as AnyObject
if let articlesFromJson=myJson["account"] as! NSDictionary?{
self.points = articlesFromJson["Points__c"] as! Double
self.tier = articlesFromJson["Member_Tier__c"] as! String
//My destination VC is called HomeViewController
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "HomeViewController" {
if let destVc = segue.destination as? HomeViewController {
destVc.pointrs = self.points
destVc.tiers = self.tier
}
}
}
//tableview
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "cell") as! MemberInfoTableViewCell
cell.points.text = String(pointrs)
cell.tier.text = tiers
return cell
}
更新:我只是重做它,它就可以了。我一定错过了一些小事!代码似乎是正确的。我还添加了一个导航控制器,所以segue代码也发生了变化。有用。谢谢!
答案 0 :(得分:0)
1)确保您的变量"指针"已初始化 2)当你第一次来到表视图控制器时,你不需要调用table.relaod() 3)确保你已在下面的代表中传递正确的计数
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return fruits.count //Array Count
}
答案 1 :(得分:0)
试试这个,通过函数将值传递给" TableViewCellClass"你创建了然后,从那里设置标签的值......
答案 2 :(得分:0)
确保确实将数据传递到表视图控制器,因为表视图控制器看起来没问题。传递数据时,您的代码是
if segue.identifier == "HomeViewController" {
if let destVc = segue.destination as? HomeViewController {
destVc.pointrs = self.points
destVc.tiers = self.tier
}//Your code can ends up here
}//Your code can ends up here
从代码中查看我的评论。如果这些if语句中的任何一个为false,则表示您没有传递数据。因此,首先在此处设置一个断点,以确定您是否实际传递数据。
如果您确实传递了数据,请在cellForRow
方法中设置一个断点,以确保pointrs
和tiers
的有效值正确