【发布时间】:2017-11-30 07:53:23
【问题描述】:
我试图让 Json 数据显示在表格视图单元格中,但我没有显示任何价值。请让我知道我做错了什么。我的表视图正确链接到我的视图控制器(作为数据源和委托)。
注意:到目前为止,我还没有在任何地方调用 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 代码发生了变化。有用。谢谢!
【问题讨论】:
-
从哪里获得
pointrs值? -
var pointrs: Double = 0.0 这只是一个字符串,它将保存从 mainVC @PraveenKumar 传递的 Json 值
-
你确定从viewDidLoad的主线程调用reloadData了吗?
-
是的,我做了@leandrodemarco,但没有什么不同。我的 prepareforsegue 方法正确吗?
-
创建一个数据类来存储 json 值。在您想要的任何视图控制器上调用 api。创建一个单例来检索值。这是正确的做法。
标签: ios swift uitableview uiviewcontroller uistoryboardsegue