首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何手动设置NSManagedObjectID?

如何手动设置NSManagedObjectID?
EN

Stack Overflow用户
提问于 2010-10-17 10:46:01
回答 1查看 2.6K关注 0票数 3

我想将iPhone上的核心数据与Sinatra服务器上的MongoDB同步。

当iPhone从Node.js聊天服务器收到一条消息时,该消息包含发送者的BSON ObjectId (一个字符串)。对于存储此消息的iPhone,我在核心数据中找到具有相同Id的用户。我希望能够做一些像objectWithID这样的事情。换句话说,我希望将NSManagedObjectID设置为与MongoDB BSON ObjectIds相同。我要检查的另一件事是,如果在managedObjectContext中没有具有发送者id的用户,我将从persistentStore中获取他,如果他不在那里,我将创建他。仅仅为了维护Message和Sender之间的关系,就有很多事情要做。也许我应该将消息对象的发送者属性作为字符串而不是用户NSManagedObject存储为他的BSON ObjectId。

你有什么建议吗?我应该在iPhone上也使用MongoDB吗?我刚刚意识到它有一个Objective-C驱动程序。但我刚刚开始掌握核心数据的诀窍,而且它有一些很酷的东西(比如撤销支持),我可能想用一下……现在,我只是将它用于简单的抓取和持久化存储,所以我可以替换它。但我计划在未来实现undo支持,只是因为我认为这是很好的可用性。我更喜欢撤销的选项,而不是回答确认弹出窗口,例如,我喜欢GMail让你撤销发送或撤销删除邮件的方式,等等。

谢谢!

哑光

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-10-17 11:38:25

您不能手动设置核心数据对象的objectID。您可能想要添加一个名为externalID的属性或其他存储从服务器获得的ID的属性。

有关是否使用核心数据的一些想法,请参阅this article。请注意,作者的建议是在几乎所有情况下都坚持使用核心数据。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3951803

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档