我尝试使用PFTableViewCell连接到主电视控制器的2个标签来解析tableview:
当我添加(numberOfSectionsInTableView + numberOfRowsInSection)应用程序崩溃时
但是当我删除它时它可以工作,但它没有显示任何内容。
这是表格视图单元格
class courseCell: PFTableViewCell {
@IBOutlet var name: UILabel!
@IBOutlet var location: UILabel!
}
这是表视图控制器
class courseTVC: PFQueryTableViewController {
override init!(style: UITableViewStyle, className: String!) {
super.init(style: style, className: className)
}
required init(coder aDecoder:NSCoder)
{
super.init(coder:aDecoder)
self.parseClassName = "courses"
self.textKey = "Location"
self.pullToRefreshEnabled = true
self.paginationEnabled = false
}
override func queryForTable() -> PFQuery! {
var query = PFQuery(className: "courses")
query.orderByDescending("Location")
return query
}
override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 1
}
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 4
}
override func tableView(tableView: UITableView!, cellForRowAtIndexPath indexPath: NSIndexPath!, object: PFObject!) -> PFTableViewCell {
var cell = tableView.dequeueReusableCellWithIdentifier("cell" , forIndexPath : indexPath) as? courseCell
if cell == nil
{
cell = courseCell(style: UITableViewCellStyle.Default, reuseIdentifier: "cell")
}
cell!.name.text = object["Price"] as! String!
cell!.location.text = object["Location"] as! String!
return cell!
}
我不知道如何解决这个问题
答案 0 :(得分:2)
查看PFQueryTableViewController
,https://www.parse.com/docs/ios/api/Classes/PFQueryTableViewController.html的文档,看起来您不应该重写这两种方法。
– tableView:cellForRowAtIndexPath:object:
为表中的所有行调用 objects
。您不应该覆盖numberOfSectionsInTableView
和numberOfRowsInSection
,因为Parse控制器会为您处理所有这些。您正在重写这些方法并对数字进行硬编码,这会导致Parse尝试获取和对象超出范围的行(它不存在)。看起来您的数据源中实际上没有对象。