我正在为一个项目做设计,但什么都没有实现——所以我仍在考虑核心数据是否适用于该项目。
这是我的查询 -
我想使用 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
看起来像 XMLStoreType 这样的 NSPersistentStore 直接指向保存最终数据的实际 XML 文件。在我的例子中,XML 只是从 XMLRPC 调用返回的内容,实际数据存储在服务器端数据库中。因此,由于存储不是对象的直接表示(或存储对象的位置),我想知道是否应该创建一个自定义 NSAtomicStore 并分别处理加载和保存以进行初始化和更新。这是为 NSAtomicStore 执行此操作的链接 -
请让我知道这是否有意义或者是否有更好的方法来处理这个问题。