Вы не должны вызывать objectAtIndex:
, не зная, содержит ли массив объект по индексу.Вместо этого вы должны проверить,
if (indexPath.row < [array count])
И если вы используете array
в качестве источника данных для tableView.Вы должны просто вернуть [array count]
как количество строк,
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return [array count];
}
И просто получить объект по адресу indexPath.row без проверки каких-либо условий.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
// Other code
NSObject *obj = [array objectAtIndex:indexPath.row];
// Proceed with obj
}