Пустой массив выдаст это исключение, если вы попытаетесь получить доступ к чему-либо, потому что никогда не будет объекта с каким-либо индексом, если массив пуст.Это похоже на то, что я не владею автомобилем, но вы просите одолжить мою машину ... вы не можете одолжить мою машину, если у меня ее нет (тогда я бросаю в тебя кулак исключения, чтобы я понял, что я слишком беден, чтобы владеть машиной)!=)
Сделайте это вместо:
if ([categories count]) {
[[categories objectAtIndex:row]objectForKey:@"name"];
....
}
Редактировать:
На самом деле, вы, вероятно, захотите изменить этот оператор if
, чтобы убедиться, что он имеетне менее row + 1
количество объектов.
if (([categories count] - 1) >= row) {
[[categories objectAtIndex:row]objectForKey:@"name"];
....
}