我从下面的代码中收到此错误。我已经阅读并尝试了类似问题的一些解决方案,但它们还没有成功。任何帮助将不胜感激。
class allTripsViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {
let list = parseData()
public func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return list.count
}
public func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = UITableViewCell(style: UITableViewCellStyle.default, reuseIdentifier: "cell")
cell.textLabel?.text = list[indexPath.row]
return cell
}
func parseData() -> [String] {
//get some json data and put it into the array
return delays
}
override func viewDidLoad() {
super.viewDidLoad()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}
如果它允许列表= [" Milk"," Honey"]等,这将很有效。这完全呈现在桌面上。但我需要它来使用parseData中的数组。
答案 0 :(得分:0)
您是否尝试将列表数组分配为空数组,然后通过解析后的值填充它?
var list = [String]()
override func viewDidLoad(){
super.viewDidLoad()
list = parseData()
tableView.reloadData()
}
从主队列中获取parseData的值也很重要。如果异步获取parseData,则必须在parseData中使用完成块来返回主队列中的值。 如果您需要更多详细信息,请与我们联系