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

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


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

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

  

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

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

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

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

7 голосов | спросил Eric Fortin 10 +04002010-10-10T17:25:01+04:00312010bEurope/MoscowSun, 10 Oct 2010 17:25:01 +0400 2010, 17:25:01

1 ответ


0

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

ответил Daniel Dickison 10 +04002010-10-10T17:54:06+04:00312010bEurope/MoscowSun, 10 Oct 2010 17:54:06 +0400 2010, 17:54:06

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132