2010-06-22 2 views
0

cannybody дайте мне пример, который объяснит процесс хранения данных в coredata, который получен из webservice. Я не хочу использовать sqlite DB. возможно, связь, которая демонстрирует такой пример.сохранение в coredata от webservices

ответ

4

В действительности нет особого трюка, связанного с веб-сервисами. Как только вы получите данные из службы, вы создаете экземпляры ваших классов Core Data, а затем заполняете их, используя данные так же, как и данные из любого другого источника, такого как пользовательский интерфейс.

Например, большинство реализаций JSON предоставляют возвращаемые данные - словарь. Вы просто задали свойства в основном объекте данных для соответствующих значений в словаре.

Если вы не знакомы с настройкой и использованием основных данных, вы должны сначала это узнать.

Edit:

От комментариев:

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

Там нет никакой связи между источником данных и расположением файла хранилища. В нормальном случае вы не будете подключаться к хранилищу данных, управляемому основными данными на веб-сервере (возможно, но редко). Вместо этого данные будут поступать с сервера, это стандартный формат, такой как JSON, REST и т. Д. Ваше приложение будет создайте локальный магазин (где бы вы его ни выбрали) и инициализировали стек Core Data. Затем он выведет на выходе анализатор JSON и создаст NSManagedObjects для представления данных. Затем он сохранит эти объекты в хранилище так же, как и данные из любого другого источника.

Так, в псевдокоде это будет выглядеть примерно так:

Core Data{ 
    Create local persistent store in desired location; 
    Create managed object context; 
    Load managed object model: 
} 

Network Inteface { 
    Connect to Server; 
    Send request; 
    Parse request into objective-C data structure (array, dictionary, etc) 
} 

Load Data strucutre into Core Data{ 
    Either { 
     Insert into context NSManageObject for entity that models recieved data 
     or 
     Insert into context instance of NSManagedObject subclass that models the recieved data 
    } 
    Set attributes of entity/instance to the appriopiate fields in the recieved data structure. 
    Save managed object context (which saves the entity/instance to the file on disk) 
} 

Я думаю, вы думаете, что это гораздо более сложный и сложный процесс, чем это. Это в основном не отличается от сохранения данных с сервера в локальном текстовом файле. Единственное различие заключается в том, что вместо этого вы сохраняете стек Core Data.

+0

Да, я понимаю процесс, но это будет очень полезно, если есть пример. может у PLZ предоставить мне пример основных данных с webservices ????? – Jayshree

+0

Я хочу знать, где NSPsistentStoreCoordinator ищет данные? если нет SQLite DB, где я должен попросить его выполнить поиск? bcoz я получаю данные из webservice и буду вводить его в класс datamodel. Могу ли вы дать мне пример кода для этого. – Jayshree

+0

У меня нет образца того, что вы делаете. Однако его не нужно. Когда вы создаете постоянное хранилище, вы назначаете место для фактического файла магазина. Предпочтительным местом является папка библиотеки приложения, за которой следует папка документов. Посмотрите на делегат приложения одного из проектов шаблона Xcode. Метод persistentStoreCoordinator accessor показывает, как установить расположение файла хранилища. Вы также можете назначить URL-адрес устройства для магазина, но это редко делается. Я думаю, вы считаете, что это сложнее, чем есть. Магазин - это всего лишь файл. – TechZen

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