为了更好地理解我的问题,想象一下你的 facebook 好友;我有一个实体“用户”,我用它来显示 friend 之间的关系;
我不知道如何使用NSFetchRequest
获取具体用户的好友
我有两个“对多”关系(见上文),我尝试使用 NSPredicate 结交 friend ,但最后数组是空的。
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = (NSEntityDescription *)[_dbManager userEntity];
[fetchRequest setEntity:entity];
User *userByUid = [_dbManager userByUid:_currentUid];
NSSortDescriptor *sort = [[NSSortDescriptor alloc]
initWithKey:@"sortId" ascending:YES];
[fetchRequest setSortDescriptors:[NSArray arrayWithObject:sort]];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(friends IN %@)", userByUid];
[fetchRequest setPredicate:predicate];
[fetchRequest setFetchBatchSize:10];
NSArray *array = [_fetchedResultsController.managedObjectContext executeFetchRequest:fetchRequest error:nil];
最佳答案
你必须使用反向关系和“ANY”:
[NSPredicate predicateWithFormat:@"ANY beFriendsWith == %@", userByUid]
关于ios - NSFetchController 和 coredata 中的多对多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21704068/