Я делаю дизайн для проекта, и ничего не было реализовано, поэтому я все еще переживаю мысленный процесс, чтобы определить, является ли Core Data жизнеспособным для проекта.
Здесь мой запрос -
Я хочу создать модель управляемого объекта с использованием Core Data для представления некоторых объектов на стороне сервера, например, Folder, File и т.д.... Все объекты (папка, файл и т.д.) Доступны через API XMLRPC, которые возвращают некоторый хорошо сформированный 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 -
Пожалуйста, дайте мне знать, если это имеет смысл или если есть лучший способ справиться с этим.
Заранее благодарим за помощь!