我希望使用Parse PFQueryTableViewController来显示存储在云中的项目列表。
但是,当没有项目时,我希望通过自定义的tableview单元格显示“找不到项目”,在tableview中显示默认消息。
我正在寻找关于如何自定义PFQueryTableViewController以实现此目的的输入。
提前致谢
答案 0 :(得分:0)
它可以通过一些额外的方法覆盖和一点点诡计来实现。我想补充说的是(imo)我们正在进入领域,这样可以减少iOS类的parse.com专业化的净收益。
// lie about the actual count
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
if (self.objects.count) return [super tableView:tableView numberOfRowsInSection:section];
return 1;
}
// answer a dummy object when there are none
- (PFObject *)objectAtIndexPath:(NSIndexPath *)indexPath {
if (self.objects.count) return [super objectAtIndexPath:indexPath];
return [PFObject objectWithClassName:[self parseClassName]];
}
// change how we behave for the dummy object
- (PFUI_NULLABLE PFTableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath object:(PFUI_NULLABLE PFObject *)object {
// check for your dummy object (it will be the only one with no id
// return a special cell in that case
if (!object.objectId) {
// create and return the special custom cell here
// if you're unsure about this, [see this SO answer][1]
} else {
PFTableViewCell *cell;
// the regular cellForRowAtIndexPath behavior goes here
return cell;
}
}
就专用子类的成本效益而言,我对UITableViewController的感觉也是如此。使用包含表视图的常规UIViewController可以获得最多的控制(而不是那么多额外的工作)。