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?的主要内容,如果未能解决你的问题,请参考以下文章
在我的嵌入式系统中填充外部 ram 中的帧缓冲区非常慢 [关闭]