[英]Display column data in tableview cell - Why aren't my table cells being created and populated?
When I build and run, my table is empty. 当我生成并运行时,我的表是空的。 I have verified my connection with the database.
我已经验证了与数据库的连接。 When I hard code the data, it works just fine.
当我对数据进行硬编码时,它就可以正常工作。 I assume my code implementation is incorrect as this is the first time I've used Parse.
我认为我的代码实现不正确,因为这是我第一次使用Parse。
import UIKit
class ListSubViewController: UITableViewController {
var vendorArray : NSMutableArray = []
override func viewDidLoad() {
super.viewDidLoad()
let query = PFQuery (className: "Vendor")
query.order(byAscending: "ID")
query.findObjectsInBackground {
(objects:[PFObject]?, error:Error?) -> Void in
if error == nil {
if let objects = objects {
print("\(objects.count) vendors are listed")
for object in objects {
self.vendorArray.add(object)
}
self.tableView.reloadData()
}
} else {
print("There is an error")
}
}
}
override func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return self.vendorArray.count
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! TableViewCell
let vendorObjects = vendorArray[indexPath.row] as! PFObject
let vendorName = vendorObjects["vendorName"] as! String
let image = vendorObjects["Image"] as! PFFile
cell.vendorLabel.text = vendorName
image.getDataInBackground(block: {
(result, error) in
cell.vendorImage.image = UIImage(data: result!)
})
self.tableView.reloadData()
return cell
}
Putting this line 把这条线
self.tableView.reloadData()
inside cellForRowAt
causes a recursive - endless process as the table is reloaded for every cell creation 在
cellForRowAt
内部会导致递归-无休止的过程,因为每次创建单元时都会重新加载表
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.