与AFIncrementalStore的映射关系



我正在将AFIncrementalStore集成到我的项目中,但是我很难弄清楚如何使关系工作。

假设我有两个模型:Document和Page。一个文档有很多页(一对多)。每个模型都与其他模型成反比关系。

我可以这样写:

myDocument.pages

myPage.document

我试图获取属于一个文档的所有页面。我有一个AFIncrementalStore子类和一个AFHTTPClient子类实现必要的方法。

我可以看到正确的REST URI被调用(例如。/文档/:id/页)。我还可以看到页面被下载并存储到sql数据库的pages表中。

问题是两者之间没有建立关系。当我查看DB时,外键列是空的。

如果我输入myDocument。页,它不返回任何东西

当获取新数据时,我是否必须手动链接这两个?我正在阅读AFIncrementalStore源代码,但没有什么特别的。

想法吗?

好了,经过几个小时的调试和逐行阅读AFIS后,我让它工作了,但它需要对REST API进行一些更改。

最初,我让我的API返回如下(示例):

GET /documents/12/pages
Response:
{
    title: "My Title",
    body: "Some body text ..."
}

但是为了使它与AFIS很好地工作,我不得不在那里添加一个引用的文档,像这样:

Response:
{
    title: "My Title",
    body: "Some body text ...",
    document: 
    {
        id: "12"
    }
}

只要在CoreData中正确设置了关系,AFIS将遍历关系并自动查找关系"文档"并在返回的对象中查找该键。如果你的服务器密钥与你的核心数据属性不匹配,那么你可以覆盖AFIncrementalStoreHTTPClient协议方法之一来指定正确的对象。

目前运行正常,如果出现问题我会反馈。

希望能帮到别人。

相关内容

  • 没有找到相关文章

最新更新