Как вставить объекты в массив NSMutable из NSDictionary - PullRequest
0 голосов
/ 29 августа 2011

У меня есть NSDictionary с двумя массивами вроде этого

questionAndAnswer= [NSDictionary dictionaryWithObject:answerList forKey:questionList];

есть два объекта answerList для конкретного вопроса (ключа).с этой частью все в порядке (словарь заполнен правильно)

Я хочу вставить ответы в новый массив с именем chckList относительно выбранного вопроса.Я пробовал вот так

NSString *selectedQuestion=[questionList objectAtIndex:indexPath.row];

[self.checkList insertObject:[questionAndAnswer objectForKey:selectedQuestion] atIndex:0];

Но выдает исключение, что не так в моем коде?

1 Ответ

2 голосов
/ 29 августа 2011

Вы действительно должны это сделать (обратите внимание на множественное число в имени метода):

questionAndAnswer= [NSDictionary dictionaryWithObjects:answerList forKeys:questionList];

То, что вы разместили, использовало один массив в качестве ключа для другого.Вышеуказанные элементы используются в одном массиве в качестве ключей для другого массива.Большая разница.

Но сообщение об ошибке, которое вы получаете, "звучит" очень похоже на неинициализированную или уже освобожденную и "повторно используемую" переменную.Итак:

  • посмотрите, совпадает ли запрашиваемый вами запрос questionAndAnswer с тем, который вы создали;
  • посмотрите, был ли он выпущен или уже выпущен автоматически.Вспомогательный метод dictionaryWithObjects:forKeys: возвращает автоматически высвобождаемый объект, и вы должны позаботиться о его сохранении, прежде чем пул автозапуска сможет его освободить.Используйте @property (retain) и @synthesize для хранения.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...