【发布时间】:2017-03-28 03:39:36
【问题描述】:
我有一个名为 Artist 的类,其中有一个流派列表。
在应用程序的其他地方,用户可以选择多个流派,并且应该过滤艺术家列表以显示他们是否与标记的流派之一匹配。
UITableView 数据源是我的Results<Artist>
据我所知,我没有字符串列表,所以我创建了自己的包含字符串的类 RealmString
class Artist: Object {
let genres = List<RealmString>()
}
class RealmString: Object {
convenience init(string: String){
self.init()
self.stringValue = string
}
dynamic var stringValue = ""
}
所有这些都有效,我可以按预期显示流派。
当我尝试通过 List<RealmString> 过滤我的 Results<Artist> 时,我收到以下错误。
artists = unFilteredArtists.filter("genres IN %@", genreListToFilter)
*** 由于未捕获的异常“无效谓词”而终止应用程序,原因:“包含数组属性的键路径必须使用聚合 操作”
然后我尝试了这个,但我没有得到任何结果(但没有崩溃)
artists = unFilteredArtists.filter("ANY genres IN %@", genreListToFilter)
我期待的是如果我有两个艺术家
1:故障、放克、低音
2:配音、鼓、迪斯科
用户选择两位艺术家都会展示的贝司 + 迪斯科。
我遗漏了一些东西,但我不确定是什么?
【问题讨论】: