【发布时间】:2013-05-16 19:01:49
【问题描述】:
我需要有关过滤子项和父项具有多对多关系的子项的获取请求的帮助。我发现的所有示例都是针对一对多关系的。
播放列表可以通过歌曲关系包含许多歌曲 歌曲可以通过播放列表关系出现在许多播放列表中。 这些关系是互逆的。
我正在尝试查找播放列表 id = 1 且歌曲名称以“a”开头的歌曲对象的过滤列表。
我尝试了很多东西,不想为所有这些都包含代码,但它们包括尝试子查询、获取播放列表然后尝试在其歌曲 nsset(转换为 nsarray)上运行 nsprediate,以及一些其他的东西。
这是我认为最接近我需要的东西。
NSEntityDescription *entityDescription = [NSEntityDescription entityForName:@"Song" inManagedObjectContext:self.playlistRKCoreDataManager.managedObjectStore.mainQueueManagedObjectContext];
NSFetchRequest *request = [[NSFetchRequest alloc] init];
NSString *queryStr = [NSString stringWithFormat:@"playlists.playlist_id == \"%@\" AND name BEGINSWITH[c] \"%@\"", playlistID, songQuery];
[request setPredicate:[NSPredicate predicateWithFormat: queryStr]];
[request setEntity:entityDescription];
【问题讨论】:
标签: ios core-data nspredicate nsfetchrequest nsentitydescription