Ios 聊天、对话、消息传递-CoreData模型
在将问题标记为的副本之前,请阅读说明。我不需要在评论中继续讨论 所以我想为短信应用程序创建Ios 聊天、对话、消息传递-CoreData模型,ios,objective-c,core-data,data-modeling,Ios,Objective C,Core Data,Data Modeling,在将问题标记为的副本之前,请阅读说明。我不需要在评论中继续讨论 所以我想为短信应用程序创建CoreData模型。正如我在本主题中提到的,我有三个实体: 用户实体定义消息作者和对话参与者 消息实体定义应用程序发送的每个文本 Conversation实体定义用户使用消息进行的对话 好的,我的数据模型如下: 但这里的一切都是相互联系的。上述答案和我的解决方案之间的唯一区别是用户和消息使用一对多关系连接。我想我需要它,因为没有它,就不可能知道谁在对话中写了什么 但据我所知,当所有东西都相互连接时,数据
CoreData
模型。正如我在本主题中提到的,我有三个实体:
用户
实体定义消息作者和对话参与者消息
实体定义应用程序发送的每个文本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
)
<> P> <强>您应该考虑将<代码>聊天> /代码>关系> <代码>消息< /代码> <强> 考虑使用FuxDeD属性或包含Objd的正常属性,从而使作者关系不必要。参与者也可以这样做。