2015-12-03 61 views
0

我有一个PFQueryTableViewController。ios - 解析PFQueryTableViewController numberOfRowsInSection错误

它类似于Instagram如何显示其Feed。

这里是我的故事板的图片:

enter image description here

我使用下面的代码:

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { 
    return self.objects.count; 
} 

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { 
    return 4; 
} 

因此,对于每个对象,有一个部分。在每个部分他们是四个单元格。这样我就可以轻松地动态调整某些单元格的大小。 (例如,包含对象文本的单元格可根据文本数量动态调整大小)。

的问题是,如果我有从parse检索少于四个对象,此代码导致崩溃:

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { 
     return 4; 
    } 

我添加了一个异常断点,它示出了该方法是负责导致错误:

- (PFObject *)objectAtIndexPath:(NSIndexPath *)indexPath { 
    return self.objects[indexPath.row]; 
} 

它特别强调此行会导致错误:

return self.objects[indexPath.row]; 

所以,出于某种原因,如果这个方法返回少于四个对象,例如:

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { 
     return 1; 
    } 

然后我得到上述的错误。下面是我的控制台的图像:

enter image description here

我hypothesises是,无论这个方法返回:

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 

用作指标来调用这个方法:

[self.objects objectAtIndex:methodReturnValue]; 

这就是为什么如果有少于4个对象,并且numberOfRowsInSection每个部分要求4个单元并且还要求上述方法,那么显然我t将通过一个错误,因为它只有一个对象时在索引路径4处请求一个对象。

我不是如果这是实际的错误,但它是我得到的最接近的。

下面是我用我的一些代码的资源,因为我在用我的部分PFQueryTableViewControllerParse Sections Post(虽然我结束了刚刚访问[self.objects objectAtIndex:indexPath.section];

任何帮助将不胜感激!

回答