PFQueryTableViewController - CellForRowAtIndexPath не вызывается / не работает
Я пытался реализовать PFQueryTableViewController, чтобы показать данные с моего сервера Parse пользователю. По какой-то причине мой пользовательский прототип ячейки вообще не используется. Скорее, таблица просто отображает (x представляет числа). Я проверил, чтобы все мои розетки были правильно подключены и чтобы идентификатор повторного использования соответствовал идентификатору, который я установил в раскадровке. Не уверен, что проблема может быть. Мой код для PFQueryTableViewController и PFTableViewCell приведен ниже. Буду признателен, если кто-нибудь сможет мне помочь.
Класс PFQueryTableViewController:
import UIKit
import ParseUI
import Parse
class HomePagePFQueryTable: PFQueryTableViewController {
override func queryForTable() -> PFQuery<PFObject>
{
let query = PFQuery(className: "Posts")
//query.cachePolicy = .cacheElseNetwork
query.order(byDescending: "createdAt")
return query
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath, object: PFObject?) -> PFTableViewCell?
{
let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath as IndexPath) as! HomePagePFQueryTableCell
cell.titleLabel?.text = object?.object(forKey: "Title") as? String
let imageFile = object?.object(forKey: "imageFile") as? PFFile
print(cell.titleLabel.text)
cell.mainImageView?.file = imageFile
cell.mainImageView.loadInBackground()
return cell
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
print("Loaded")
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
Класс PFTableViewCell:
import UIKit
import Parse
import ParseUI
class HomePagePFQueryTableCell: PFTableViewCell {
@IBOutlet weak var mainImageView: PFImageView!
@IBOutlet weak var titleLabel: UILabel!
/*
// Only override draw() if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
override func draw(_ rect: CGRect) {
// Drawing code
}
*/
}
1 ответ
Вау, просто разобрался. Все, что мне нужно было сделать, это разместить _
перед первым tableView в функции cellForRowAtIndexPath.