Данные JSON идентичны, но программа не работает? - PullRequest
0 голосов
/ 07 декабря 2011

У меня есть приложение для iOS, которое получает JSON с сервера (в форме NSData). Я использую парсер фреймворка SBJson, чтобы преобразовать его в объект NSDictionary, например:

SBJsonParser *parser = [[SBJsonParser alloc] init];
NSDictionary *content = [parser objectWithData:data];

Затем я продолжаю читать объекты из «контента» и т. Д.

Теперь этот точный код сработал идеально, используя старую версию фреймворка SBJson. Программа была в порядке. Затем я реализовал новую версию фреймворка SBJson, и внезапно моя программа падает, когда я пытаюсь сделать то же самое с «контентом» (точнее, я получаю ошибку EXC_BAD_ACCESS).

Моей первой мыслью было, что новый SBJsonParser создает немного другой файл, и поэтому я записал как новое, так и старое содержимое в текстовые файлы и запустил для них команду diff из командной строки. Они точно такие же.

Итак, ЕДИНСТВЕННОЕ изменение, которое я сделал, - это использование нового SBJsonParser. Чего мне не хватает?

1 Ответ

0 голосов
/ 12 декабря 2011

Решение было немного изменить мой код:

SBJsonParser *parser = [[SBJsonParser alloc] init];
NSDictionary *content = [[parser objectWithData:data] retain];
...