Я новичок здесь и в программировании на IOS, поэтому, пожалуйста, ответьте на мои вопросы новичка на некоторое время:]
Вот ситуация с моим заявлением перед моим вопросом:
У меня естьвид, в котором я добавил 3 разных подпредставления.(1-категории, 2-слова и 3-правила) В подвиде категорий у меня есть таблица категорий.(читает и пишет из списков категорий и списков)
В соответствии с выбранной категорией я изменяю ингредиенты таблицы для таблицы слов в подпредставлении слова.В этой таблице хранятся слова, которые пользователь вводит для выбранной категории.(читает и пишет из nsmutabledictionary, ключами которого являются имена категорий из таблицы категорий, а значениями являются массивы строк, которые я предварительно ввел в plist)
Теперь пример, чтобы прояснить ситуацию: мойМассив категорий имеет: размер, цвет Массив моих слов для категории «Размер» содержит 3 строки, например: «крошечный», «большой», «огромный» Массив моих слов для категории «Цвет» содержит 2 строки, например: «красный»,"blue"
Сначала, когда я выбираю категорию "Size", я иду и выбираю слова в этой категории, а когда я перехожу из подпредставления категорий в подпредставление слов, я правильно вижу все, что находится внутри категории "Size" в моем uitableview.(он печатает «крошечный», «большой» и «огромный»)
Но когда я возвращаюсь к своему подпредставлению категорий и выбираю «Цвет» на этот раз и возвращаюсь к подпредставлению слов, я получаю сбой.
Похоже, что он вызывает tableView: cellForRowAtIndexPath: метод, и я получаю NSRangeException, как показано ниже:
[NSMutableArray objectAtIndex:]: index 2 beyond bounds
Короче говоря, я хочу знать, почему метод cellForRowAtIndexPath вызывает индекс, который нетам.Вот как внутри моего метода cellForRowAtIndexPath выглядит:
[self reinitializeWordsDictionary];
[self reinitializeWordsInSelectedCategoryArray];
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc]
initWithStyle:UITableViewCellStyleDefault
reuseIdentifier:CellIdentifier] autorelease];
}
cell.textLabel.text = [wordsInSelectedCategoryArray objectAtIndex:indexPath.row];
return cell;
Заранее спасибо за ответы,
tiw