在将问题标记为该问题的重复项之前,请阅读说明。我不需要在评论中继续讨论。
因此,我想CoreData
为消息传递应用程序创建模型。就像我在本主题中所说的那样-我有三个实体:
User
实体定义消息的作者和对话的参与者。Message
实体定义与应用程序一起发送的每个文本。Conversation
实体使用消息定义会话beetwen用户。好的,所以我的数据模型是这样的:
但是这里所有的东西都是相互联系的。提到的答案和我的解决方案之间的唯一区别是User
和Message
使用一对多关系进行连接。我想我需要这个,因为没有那个,就不可能知道谁在对话中写了什么。
但是据我所知,当一切相互连接时的数据模型是没有意义的。
因此,这里的主要目标是:
而已。
请验证当前解决方案,并随时提出批评。
据我所知,并没有真正需要User
和之间的多对多关系Conversation
。
如果用户希望获得所有对话,则可以使用以下提取请求:
User* user = //get some user you like conversations for
NSFetchRequest* r = [NSFetchRequest fetchRequestWithEntityName:@"Conversation"];
r.predicate = [NSPredicate predicateWithFormat:@"ANY messages.author = %@",user];
以相同的方式,您可以吸引给定对话的所有用户。
您可以将此模型建模为每个这些实体(User
和Conversation
)上的访存属性。
您应该真正考虑将chat
关系更改为messages
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句