我正在使用Core Data中的中间连接表,类似于Apple的核心数据编程指南中的朋友示例。对不起,由于没有声望点,无法发布图片。它是一个与FriendInfo中间联接关系的朋友实体,具有朋友和朋友信息的关系。以下链接描述了它。
我如何获得共同朋友的名单,即A人和B人分享为朋友的人?我想把它放到iPhone应用程序表视图中。
答案 0 :(得分:2)
答案几乎就在您提供的文档网址中。假设有两个人personA
和personB
。
NSSet *friendsOfPersonA = [personA valueForKeyPath:@"friends.friend"];
NSSet *friendsOfPersonB = [personB valueForKeyPath:@"friends.friend"];
设置交叉点以寻找普通朋友
NSSet *commonFriends = [[NSMutableSet alloc] initWithSet:friendsOfPersonA];
[commonFriends intersectSet:friendsOfPersonB];
集合commonFriends
应该是你想要的。
注意:Apple提供的示例包含befriendedBy
等附加属性。通常情况并非如Facebook这样的在线社交网络,友谊是相互的。但是如果你是走这条路并且只想在两个人是彼此的朋友的情况下想要计算友谊,那么到达那里是一个额外的步骤。在这种情况下,为了找到一个人的朋友,你要为一个人的朋友和那些与他成为朋友的朋友做一个交集。