我有一个小功能,我通过Core Data模型中的关系查询对象。
我有关系的多方面所有设置。但是,我无法弄清楚如何正确设置关系的单一方面,因为它被认为是NSSet
,我不知道如何处理它。
我已经尝试将对象放在我想要分配给其他“to-many”实体的NSSet
中,但是返回了一个错误。
我试着查看文档,我发现的唯一例子是许多关系。
我尝试过搜索一下,找不到任何提出这个具体问题的人。
希望有人可以理解我的要求,并帮助我!
修改
为了帮助你们所有人想象,我已经设置了关系的“shindys”方面,但现在我正在设置“用户”方面,正如你所看到的那样,这是一种单一的关系。
修改
在下面的@Mundi的回答之后,我将此作为我的数据模型:
一切都是正确的,我只需要有能力获取所有用户的朋友和他们自己的shindy。你可以将它与Twitter的家庭饲料进行比较。
答案 0 :(得分:1)
在我看来,您的数据模型设置错误。
一个用户可以拥有许多消息。一条消息至少有两个用户(来自和来自)。我不知道什么是shindy,但是你设置它的方式,一个用户只有一个shindy可以在几个用户之间共享。
如果这是正确的,您需要更改数据模型的消息部分,并使其成为多对多,或者更好地建立两个描述发送方和接收方的关系。
Message User
sender <<-------------------->sentMessages
receivers <<---------------->>receivedMessages
此外,你应该将你的用户属性“shindys”重命名为“shindy”,因为它只是单数。现在我们知道shindy是一个派对,你应该将这种关系改为很多一对多。
因此,如果每个用户只有一个shindy(无论是什么,请解释我们),那么要通过shindy对用户进行排序,你会使用这样的排序描述符
[NSSortDescriptor sortDescriptorWithKey:@"shindy.timePosted" ascending:NO];
但是,如果您希望通过shindy进行过滤(如果有多个用户属于shindy),则必须使用谓词,如此
[NSPredicate predicateWithFormat:@"ANY shindies.profileID = %@",
someUser.profileID];
或使用其他方式识别shindy。