Swift3:使用外部数据库中的数据填充 UITableView?

Posted

技术标签:

【中文标题】Swift3:使用外部数据库中的数据填充 UITableView?【英文标题】:Swift3: Populate UITableView with data from External database? 【发布时间】:2017-06-27 06:16:55 【问题描述】:

我正在尝试使用来自外部数据库的一些数据加载 UItable。我能够在输出面板中打印所需的数据,但无法在 tableview 上获取数据。我怎样才能解决这个问题?

代码:

    import UIKit

    class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate 

    //let myarray = ["item1", "item2", "item3"]



    var group = [Group]()

    @IBOutlet weak var tableview: UITableView!

    override func viewDidLoad() 
        super.viewDidLoad()

        let url = URL(string: "http://www.myurl/myfile.php")

        let task = URLSession.shared.dataTask(with: url! as URL)  data, response, error in

            guard let data = data, error == nil else  return 

            print(NSString(data: data, encoding: String.Encoding.utf8.rawValue))
        

        task.resume()        
    

    override func viewDidAppear(_ animated: Bool) 
        super.viewDidAppear(animated)
        tableview.reloadData()
    


    override func didReceiveMemoryWarning() 
        super.didReceiveMemoryWarning()

    



    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int 
        //return myarray.count
        return 1
    

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell 
        let cell = tableView.dequeueReusableCell(withIdentifier: "groupCell", for: indexPath) as! UITableViewCell
       // cell.textLabel?.text = myarray[indexPath.item]
        return cell
    


【问题讨论】:

【参考方案1】:

Tableview 在接收数据之前重新加载。完成任务后需要重新加载表格视图。

let task = URLSession.shared.dataTask(with: url! as URL)  data, response, error in

guard let data = data, error == nil else  return 

print(NSString(data: data, encoding: String.Encoding.utf8.rawValue))

//Store into your array depend on response.
DispatchQueue.main.async() 
    self.tableView.reloadData()
  task.resume()

【讨论】:

以上是关于Swift3:使用外部数据库中的数据填充 UITableView?的主要内容,如果未能解决你的问题,请参考以下文章

自动填充 iframe 中的外部表单来自...另一个表单

在我的嵌入式系统中填充外部 ram 中的帧缓冲区非常慢 [关闭]

如何在 Swift 3 中用 JSON 数据填充表格?

TableView 中的 UICollectionView 不填充单元格?

TableView 不显示数据

Oracle 11g - 使用序列中的常量值填充表行