好的,这是我的模型的一部分:
我有一个使用 NSFetchedResultsController 填充的 TableViewController。在 TableViewController 中,我想显示属于特定播放列表的所有歌曲。我希望通过某种方式获取 playlistSongs 关系指向的所有歌曲实体来实现此目的。这个 TableViewController 有一个播放列表对象的引用(尽管我怀疑这对我有帮助)。
我的困难在于设置谓词。
NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"Playlist"];
request.predicate = [NSPredicate predicateWithFormat:@"(self.playlistSongs)"];
最佳答案
首先,如果你想显示歌曲,那么你必须创建一个获取请求 在“歌曲”实体上:
NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"Song"];
要将结果限制为给定播放列表的歌曲,请使用“歌曲”中的关系 到“播放列表”。这是一个对多关系,因此您必须指定“ANY”:
request.predicate = [NSPredicate predicateWithFormat:@"ANY playListIAmIn == %@", selectedPlaylist];
关于ios - NSPredicate 使用实体的关系获取其他实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25453681/