我正在为一个项目进行设计,还没有实施任何内容 - 所以我仍在经过思考过程来确定核心数据是否适用于该项目。
这是我的问题 -
我想使用Core Data创建一个托管对象模型来表示一些服务器端对象,例如文件夹、文件等等。所有对象(文件夹、文件等)都可以通过返回一些格式良好的XML的XMLRPC API进行访问。
例如,可能会有一个名为getFolders的API,可以返回以下内容-
<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>
同样地,可能会有一个updateFolders API,它操作现有的文件夹项目,并且为了简单起见,假设它只更新文件夹名称。对于它的请求将发布类似以下的内容 -
<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执行此操作的链接 -
请告诉我这是否有意义,或者是否有更好的方法来处理这个问题。