2014-01-19 3 views
1

У меня есть данные JSON, которые я втягиваю в приложение IOS. Теперь, исходя из фона .Net, я обычно создавал бы «Модель» для таких данных.Стандарт для моделирования данных JSON в IOS

public class MyData{ 
    public IEnumerable<SubData> ActualData {get;set;} 
    public string SomeValue {get;set; 
} 

public class SubData { 
    public string Name {get;set;} 
} 

Теперь использование, ObjectiveC - какой рекомендуемый метод? Я видел много применений объектов стиля словаря и еще не видел примера реальных моделей на основе классов. Я полностью понимаю, что могу использовать подход, основанный на модели, но я не хочу «идти против зерна», я использую NSJSONSerialization для анализа JSON, если это имеет значение.

Я сделал некоторое отображение для простых объектов JSON с помощью

[result objectForKey:@"Key"]; 

Но теперь мне нужно иметь дело с более сложной JSON (с X числом элементов) данными строки больше не кажется, чтобы сократить его.

+0

Многие люди будут использовать объекты NSDictionary (в частности, для поверхностных примеров, которые вы увидите здесь, на SO), но многие из нас будут использовать осмысленные именованные объекты модели (например, объект 'Person' с' firstName', 'lastName' и т. д., а не только некоторую структуру, основанную на NSDictionary. Это вовсе не «против зерна», а использование подходящих объектов модели. – Rob

+0

Если вы ищете примеры, возможно, вы можете изменить свой вопрос, чтобы использовать менее абстрактный пример. Выберите простой пример, покажите нам, что может выглядеть JSON и как должен выглядеть класс, и мы можем вам помочь. – Rob

+0

Спасибо @ Rob Я думаю, что вы ответили на мой вопрос, я выложу модельный шаблон и посмотрю, как я нахожусь. – LiamB

ответ

0

Скорее мнение основано, но я думаю, что большинство людей используют NSDictionary и NSArray, если хранилище является временным. Если хранилище более продолжительное, вы можете перенести данные в основные данные, что легко сделать с KVC из словаря и структуры массива, или с помощью библиотеки, такой как RestKit. Аналогичный подход можно использовать для пользовательских подклассов NSObject.

Я думаю, что важно понять, что вы делаете, и сделать реализацию понятной (или хорошо документированной).

Смежные вопросы