将数据从SwiftyJSON追加到表视图

时间:2019-04-24 03:31:10

标签: ios swift uitableview swifty-json

当我加载应用程序时,它显示为空。很快就能了解并感谢您的帮助。我正在使用Swift 3和xcode 10。

我不知道我是否应该做与我正在做的事情不同的事情,但是我实际上可以在控制台上查看/读取数据,但是我无法将其附加到单元格中。

当我加载应用程序时,它在那儿查找表格,但它是空的。

这个菜鸟将非常感谢帮助和建议。

class StoriesTableViewController: UITableViewController {
    var appendedLaws:[String] = []
    override func viewDidLoad() {
    super.viewDidLoad()
        let url = URL(string: "http://34.223.249.63:3000/getLaws")
        if let usableUrl = url {
            let request = URLRequest(url: usableUrl)
            let task = URLSession.shared.dataTask(with: request, completionHandler: { (data, response, error) in
                if let data = data {
                    if let stringData = String(data: data, encoding: String.Encoding.utf8) {
                        //JSONSerialization
                        do {
                            let json = try JSON(data: data)
                            for (key, decreto) in json["nameLaws"] {
                                if let title2 = decreto["title2"].string {
                                    self.appendedLaws.append(title2)
                                }
                            }
                        } catch {}
                    }
                }
            print(self.appendedLaws) //i can read the data here.
            })
            task.resume()
        }
    }
    override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return appendedLaws.count
    }

    override func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
        return "Laws number \(appendedLaws.count)"
    }

    override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "Law:", for: indexPath)

        cell.textLabel?.text = self.appendedLaws[indexPath.row]

        return cell
    }
}

0 个答案:

没有答案