【问题标题】:Realm Swift - Filtering results with List<object> with List<object>Realm Swift - 使用 List<object> 和 List<object> 过滤结果
【发布时间】:2017-03-28 03:39:36
【问题描述】:

我有一个名为 Artist 的类,其中有一个流派列表。

在应用程序的其他地方,用户可以选择多个流派,并且应该过滤艺术家列表以显示他们是否与标记的流派之一匹配。

UITableView 数据源是我的Results&lt;Artist&gt;

据我所知,我没有字符串列表,所以我创建了自己的包含字符串的类 RealmString

class Artist: Object {
    let genres = List<RealmString>()
}

class RealmString: Object {
    convenience init(string: String){
        self.init()
        self.stringValue = string
    }

    dynamic var stringValue = ""
}

所有这些都有效,我可以按预期显示流派。

当我尝试通过 List&lt;RealmString&gt; 过滤我的 Results&lt;Artist&gt; 时,我收到以下错误。

artists = unFilteredArtists.filter("genres IN %@", genreListToFilter)

*** 由于未捕获的异常“无效谓词”而终止应用程序,原因:“包含数组属性的键路径必须使用聚合 操作”

然后我尝试了这个,但我没有得到任何结果(但没有崩溃)

artists = unFilteredArtists.filter("ANY genres IN %@", genreListToFilter)

我期待的是如果我有两个艺术家

1:故障、放克、低音

2:配音、鼓、迪斯科

用户选择两位艺术家都会展示的贝司 + 迪斯科。

我遗漏了一些东西,但我不确定是什么?

【问题讨论】:

    标签: ios swift realm


    【解决方案1】:

    你忘记了'.stringValue',试试这个:

    all.filter("ANY genres.stringValue IN %@", ["Pop", "Jazz"])
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-04-16
      • 1970-01-01
      • 1970-01-01
      • 2022-01-17
      • 2016-09-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多