Основные данные с JSON - PullRequest
       9

Основные данные с JSON

7 голосов
/ 10 октября 2010

Этот вопрос является продолжением этого вопроса .Я использую библиотеку JSON, найденную по адресу http://code.google.com/p/json-framework/.


Моя объектная модель базовых данных имеет отношение «многие ко многим» и, как таковая, имеет набор для своего подобъекта.В JSON набор представлен массивом идентификаторов объектов.Ничего особенного.

Когда я вызываю setValuesForKeysWithDictionary для управляемого объекта со структурой объекта, получаемой при разборе строки json, я получаю следующее исключение:

***Завершение работы приложения из-за необработанного исключения «NSInvalidArgumentException», причина: '- [__ NSArrayM minusSet:]: нераспознанный селектор, отправленный экземпляру 0x6c7b440'

Если кто-то может объяснить почему, я весь слухЯ также получаю некоторые исключения из неопределенного ключа, но это понятно (JSON содержит дополнительные поля) и полностью управляемо.

Теперь мой вопрос:

Я что-то здесь упускаю, потому что в другом вопросечеловек, который ответил и ОП не сообщил ни об одной из этих проблем.Я мог бы исправить это и обработать ошибочную операцию, переопределив setValuesForKeysWithDictionary и передав, когда ключ является отношением, но это делает код намного менее универсальным, что мне очень нравится.

1 Ответ

5 голосов
/ 10 октября 2010

Я думаю, что проблема в том, что ваша десериализация JSON создает массивы, но отношения управляемого объекта ко многим представлены наборами. То есть вам нужен NSSet, а не NSArray. Вы можете преобразовать NSArray в NSSet, выполнив [NSSet setWithArray:theArray].

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...