我希望PFQueryTableViewController
有两个部分:
PFObjects
查询(地址簿中使用该应用的联系人)目前我正在设置部分数量:
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return 2;
}
设置每个部分的行数:
- (NSInteger) tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
if (section == 1)
{
return [self.contacts count];
}
else
{
return [self.objects count];
}
return 1;
}
当我尝试显示单元格的内容时,我在滚动时遇到崩溃:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath object:(PFObject *)object {
static NSString *CellIdentifier = @"Cell";
PFTableViewCell *cell = (PFTableViewCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[PFTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:nil];
}
if (indexPath.section == 0)
{
UILabel *name = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 200, 200)];
name.text = object[@"username"];
[cell addSubview:name];
}
else
{
UILabel *name = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 200, 200)];
name.text = [self.contacts objectAtIndex:indexPath.row];
[cell addSubview:name];
NSLog(@"%@", [self.contacts objectAtIndex:20]);
}
cell.selectionStyle = UITableViewCellSelectionStyleNone;
return cell;
}
我收到错误:[__NSArrayM objectAtIndex:]: index 2 beyond bounds [0 .. 1]
原因必须是因为PFObject
被查询第1和第2部分的每一行而且因为我在第2部分有更多的对象,它会自动超出界限滚动时崩溃。
在dataSource
中显示两个PFQueryTableViewController
的两个部分的最佳方式是什么?我是否必须在PFQueryTableViewController
内嵌入UITableViewController
?
答案 0 :(得分:1)
我不认为PFQueryTableViewController
会在这里为你提供良好的服务。使用常规UITableViewController
可能会更好,并且有两个组合并显示在表中的查询。 PFQTVC旨在与一个数据源一起使用。