无法使用实例成员' parseData'在属性初始化程序中

时间:2017-09-28 05:33:28

标签: ios swift

我从下面的代码中收到此错误。我已经阅读并尝试了类似问题的一些解决方案,但它们还没有成功。任何帮助将不胜感激。

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中的数组。

1 个答案:

答案 0 :(得分:0)

您是否尝试将列表数组分配为空数组,然后通过解析后的值填充它?

var list = [String]()

override func viewDidLoad(){
super.viewDidLoad()

list = parseData()

tableView.reloadData()

}

从主队列中获取parseData的值也很重要。如果异步获取parseData,则必须在parseData中使用完成块来返回主队列中的值。 如果您需要更多详细信息,请与我们联系