Ios 与AFIncrementalStore的映射关系
我正在将AFIncrementalStore集成到我的项目中,但我很难弄清楚如何使关系发挥作用 假设我有两个模型:文档和页面。一个文档有许多页(一页多页)。每个模型都与另一个模型具有相反的关系 所以我可以做到:Ios 与AFIncrementalStore的映射关系,ios,core-data,afnetworking,afincrementalstore,Ios,Core Data,Afnetworking,Afincrementalstore,我正在将AFIncrementalStore集成到我的项目中,但我很难弄清楚如何使关系发挥作用 假设我有两个模型:文档和页面。一个文档有许多页(一页多页)。每个模型都与另一个模型具有相反的关系 所以我可以做到: myDocument.pages 或 我正在尝试获取属于文档的所有页面。我有一个AFIncrementalStore子类和一个AFHTTPClient子类,它们实现了必要的方法 我可以看到调用了正确的RESTURI(例如/documents/:id/pages)。我还可以看到页面被下载
myDocument.pages
或
我正在尝试获取属于文档的所有页面。我有一个AFIncrementalStore子类和一个AFHTTPClient子类,它们实现了必要的方法
我可以看到调用了正确的RESTURI(例如/documents/:id/pages)。我还可以看到页面被下载并存储到sql数据库的pages表中
问题是两者之间的关系还没有形成。当我查看数据库时,外键列是空的
另外,如果我使用myDocument.pages,它不会返回任何内容
获取新数据时,是否必须手动链接这两个?我正在阅读AFIncrementalStore源代码,但没有任何突出的内容
想法?好的,经过几个小时的调试和逐行阅读AFIS后,我让它开始工作,但它需要对RESTAPI进行一些更改 最初,我让API返回如下内容(示例): 但为了使其与AFIS很好地协同工作,我必须在其中添加对文档的引用,如下所示:
Response:
{
title: "My Title",
body: "Some body text ...",
document:
{
id: "12"
}
}
只要在CoreData中正确设置了关系,AFIS就会在关系中循环并自动找到关系“文档”,并在返回的对象中查找该键。如果服务器密钥与core data属性不匹配,则可以重写AFIncrementalStoreHTTPClient协议方法之一以指定正确的对象
现在一切正常,如果出了什么问题,我会报告的
希望这能帮助别人
GET /documents/12/pages
Response:
{
title: "My Title",
body: "Some body text ..."
}
Response:
{
title: "My Title",
body: "Some body text ...",
document:
{
id: "12"
}
}