请多多包涵,因为我只是在学习 Cocoa。我已经阅读了一些有关 Core Data 的教程,现在我正在处理 RESTkit 以将其与 Rails 应用程序一起使用。我还阅读了 RESTkit wiki 页面上的所有文档、解决方案配方(尤其是 iOS SDK:Advanced RestKit Development 非常有用)。
为了简单起见,我将在这个问题中使用数量非常有限的模型/关系。
假设我有以下模型:公司、人、具有以下关系的语言:
company many-to-many person
language 1-to-many person
并且 RAILS 和 iOS 应用程序是同步的。
在某个时间,一个新人被引入到与现有公司和现有语言相关的 Rails 应用程序中:例如。史蒂夫乔布斯 > 迪斯尼, 史蒂夫乔布斯 > 英语 同时,一个新人被添加到一家新公司,以及一种新语言,例如。Anna Kourinikova > Nike, Anna Kournikova > 俄罗斯
现在如何设置同步解决方案?我可以要求所有新人的 JSON 转储:
[{"person": {
"id": 123,
"name": "Steve Jobs",
"language": {
"id": 1,
"name": "English"
},
"company": {
"id": 1,
"name": "Disney"
}
}},
{"person": {
"id": 124,
"name": "Anna Kournikova",
"language": {
"id": 22,
"name": "Russian"
},
"company": {
"id": 47,
"name": "Nike"
}
}}]
现在我的问题:
1)可以(如果可以的话如何?)RESTkit 创建和链接新的公司和语言。我想对于现有公司来说这不是问题,但我的核心数据中还不存在新公司。
2) 有没有办法避免包含所有公司和语言数据的需要,因为在现实世界的应用程序中,如果将人员添加到现有公司,这将产生巨大的数据开销,而这些开销已经存在于 iOS 设备上
3) 可能是首先获取所有新语言、所有新公司然后获取所有新人的方法,只有与它们相关的语言/公司的 id 是一种更好的方法(以节省带宽) 但是我不是手动做很多 RESTkit 可以自动做的事情吗?
4) 如果现有人员与第二家公司有关联怎么办?
由于这似乎是一个非常真实的世界情况,我认为文档中没有任何(类似的)示例很奇怪(如果我能在你的帮助下解决问题,我愿意写一个关于这个主题的教程。)