全部,
我使用普通单元格可以正常工作,但我正在尝试使用nib等创建自定义单元格,然后使用PFQueryTableViewController将其链接到PARSE。
这是我的代码:
class CustomCell: PFTableViewCell
{
@IBOutlet var EventTypeImage: UIImageView!
@IBOutlet var titleLabel: UILabel!
}
class TableViewController: PFQueryTableViewController {
override init!(style: UITableViewStyle, className: String!) {
super.init(style: style, className: className)
}
required init(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
self.parseClassName = "Events_"
self.pullToRefreshEnabled = true
self.paginationEnabled = true
//self.objectsPerPage = 5
//self.textKey = "TypeOfVenue_"
}
override func viewDidLoad() {
var nib = UINib(nibName: "CustomTableViewCell", bundle: nil)
tableView.registerNib(nib, forCellReuseIdentifier: "CustomCell")
}
override func queryForTable() -> PFQuery! {
var query = PFQuery(className: self.parseClassName)
if (objects.count == 0)
{
query.cachePolicy = kPFCachePolicyNetworkOnly
}
return query
}
override func tableView(tableView: UITableView!, cellForRowAtIndexPath indexPath: NSIndexPath!, object: PFObject!) -> PFTableViewCell!
{
var custom = CustomCell()
var cell = tableView.dequeueReusableCellWithIdentifier("CustomCell") as PFTableViewCell!
custom.titleLabel?.text = object["Title"] as NSString
return cell
}
所以我创建了一个自定义单元格并将其与顶部的CustomCell类相关联。在CellForRowatIndexPath中。我已经创建了一个CustomCell类的新实例,并从中获取了titlelabel,然后将其转换为NSstring并使用PARSE获取对象'。
我没有任何错误。我在桌面上看到的只是一个旋转轮说装载。
任何建议都会很棒。
答案 0 :(得分:0)
有一个类似的问题,笔尖没有被加载。然后我意识到我可以在故事板中的tableviewcontroller的原型中创建自定义单元格,我做了,并在身份检查器中更改了类,如图所示。这里QuestionCell将是您的自定义单元格文件。
我会将CustomCell分成另外一个,并确保在原型身份检查器中选择了它。同样,确保样式是自定义的,并确保故事板中的任何标签与新CustomCell类中的iboutlet连接。
然后,您可以删除
var nib = UINib(nibName: "CustomTableViewCell", bundle: nil)
tableView.registerNib(nib, forCellReuseIdentifier: "CustomCell")
因为您正在使用原型。
然后替换
var cell = tableView.dequeueReusableCellWithIdentifier("CustomCell") as PFTableViewCell!
与
var cell:CustomCell = tableView.dequeueReusableCellWithIdentifier("CustomCell", forIndexPath: indexPath) as? CustomCell
你应该好好去!如果有效,请告诉我!
答案 1 :(得分:-1)
在为此init方法添加初始化程序属性时,我还有一个旋转加载轮:
required init(coder aDecoder: NSCoder)
但是,相反,这样做了:
//class TableViewController: PFQueryTableViewController
override init!(style: UITableViewStyle, className: String!) {
super.init(style: style, className: className)
self.parseClassName = "todo"
self.pullToRefreshEnabled = true
self.paginationEnabled = true
self.objectsPerPage = 30
self.tableView.estimatedRowHeight = 80
}