0

我有一个名为 Album 的核心数据实体;专辑与歌曲实体(称为歌曲)有关系,每首歌曲都有任意数量的标签实体(在标签属性中),标签有一个名称。现在我想检查专辑中的歌曲是否包含标签;使用单个 NSPredicate。

想到的一个想法是:

[NSPredicate predicateWithFormat: @"ANY (ANY songs).tags LIKE %@", someTagName];

但这会在运行时导致错误(“无法解析格式字符串”)。我尝试了各种变化,但没有成功。

有没有办法做到这一点?

4

2 回答 2

0

只是一个想法,但也许 LIKE 在 iPhone 上不可用?我知道我在 BETWEEN 方面遇到了困难,这似乎不起作用。

那么标签与歌曲没有多对多的关系吗?如果以这种方式建模,获取标签的歌曲将只涉及访问属性 tag.songs。您对其建模的方式似乎可以为每首歌曲复制标签(这在您的应用程序中可能很好)。

于 2009-08-14T05:38:45.873 回答
0

我想你想要

[NSPredicate predicateWithFormat:@"ANY songs.@unionOfSets.tags LIKE %@", someTagName]

查看关于集合和数组运算符的键值编程指南部分。

于 2009-08-13T20:26:31.460 回答