2009-08-27 1 views
10

Я занимаюсь дизайном проекта, и ничего не было реализовано, поэтому я все еще переживаю процесс мышления, чтобы определить, жизнеспособна ли Core Data для проекта.Интеграция XMLRPC/Web-сервисов с основными данными

Вот мой запрос -

Я хочу, чтобы создать объектную модель управляемого с использованием основных данных для представления какой-то стороны сервера объектов, например, папка, файл и т.д. .... Всех объектов (папки, файл и т.д ..) доступны через XMLRPC API, которые возвращают некоторый хорошо сформированный XML.

Например, может быть API называется getFolders, которые могут возвращать следующие -

<xml> 
<folders> 
    <folder id=1> 
    <name>Test 123</name> 
    <files> 
     <file id=100> 
      <name>hello.txt</name> 
      <path>./hello.txt</path> 
     </file> 
     ... 
    </files> 
</folder> 
... 
</folders> 

Аналогично там может быть API updateFolders, который работает на существующем элементе папки и для простоты позволяет сказать, что это просто обновляет имя папки. Запрос на это бы разместить что-то вроде следующего -

<xml> 
<method name="updateFolder"> 
    <folder_id="1"> 
    <params> 
    <param name="folder_name" value="Test"/> 
    </params> 
</method> 

Я пытаюсь выяснить -

1. How can I represent folder as a managed object i.e., how do I initialize it from the above XML 
    2. Once initialized, how can I handle an update to it using the updateFolder API shown above 

Похоже, NSPersistentStore такие как точки XMLStoreType непосредственно сами файлы XML, которые держат конечные данные. В моем случае XML - это просто то, что возвращается из вызова XMLRPC, и фактические данные хранятся на БД на стороне сервера. Поэтому, поскольку хранилища не являются прямыми представлениями объектов (или где хранятся объекты), мне было интересно, следует ли мне создать пользовательский NSAtomicStore и обрабатывать загрузку и сохранять для инициализации и обновления соответственно. Вот ссылка на этом для NSAtomicStore -

http://devworld.apple.com/documentation/Cocoa/Conceptual/AtomicStore_Concepts/Articles/asLoading.html#//apple_ref/doc/uid/TP40005298

Пожалуйста, дайте мне знать, если это имеет смысл, или если есть лучший способ справиться с этим.

Заранее благодарим за вашу помощь!

ответ

1

Вы Прочитали:

http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSXMLParser_Class/Reference/Reference.html

проверить Также из TBXML:

TBXML является легкий XML документ парсер написанный в Objective-C предназначен для использования на Apple Ipad, iPhone & iPod Touch. TBXML стремится обеспечить максимально возможный синтаксический анализ XML при использовании наименьших ресурсов. Это требование абсолютной эффективности достигается за счет проверки и модификации XML. Невозможно модифицировать и генерировать действительный XML из объекта TBXML, и никакая проверка не выполняется при импорте и анализе XML-документа.

0

Нет простого способа сделать то, что вы просите, и Core Data не облегчит вам работу.

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