Я прочитал несколько SO-сообщений по этой проблеме, но, похоже, у них есть проблемы (конечно же, прическа), добавляющая дополнительную ячейку в верхнюю часть UITableView.Вот мой код:
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
// self.StringArray has 5 string objects inside
return ([self.stringArray count] + 1);
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
// create hardcoded first row in table
if([indexPath row] == 0)
{
cell.textLabel.text = @"Select me";
}
else
{
// decrement the row to get the correct object from the self.stringArray
int arrayIndex = [indexPath row] - 1;
cell.textLabel.text = [self.stringArray objectAtIndex:arrayIndex];
}
return cell;
}
Все выглядит хорошо (очевидно, что-то не так, хотя, если я получаю сообщение об ошибке исключения), но я не могу это заметить.
Исключение:* Завершение работы приложения из-за невыполненной исключительной ситуации 'NSRangeException', причина: '* - [__ NSArrayM objectAtIndex:]: индекс 5 за пределами [0 .. 4]'