【问题标题】:Filtering Realm data in UITableView with 2 criteria使用 2 个条件过滤 UITableView 中的领域数据
【发布时间】:2018-11-06 01:55:26
【问题描述】:

希望 Stackoverflow 的优秀人士能对此有所帮助:

我有一个具有这种结构的领域对象:

class GasFile : Object {
@objc dynamic var gasFilename : String = ""
@objc dynamic var gasCategory : String? = ""

override static func primaryKey() -> String? {
    return "gasFilename"
}}

以及以下搜索条件:(损坏!)

func updateSearchResults(for searchController: UISearchController) {

        let searchText = searchController.searchBar.text
        if searchText == "" {GasFileSearchResults = realm.objects(GasFile.self).sorted(byKeyPath: "gasFilename", ascending: true) }
        else {
            GasFileSearchResults = realm.objects(GasFile.self).sorted(byKeyPath: "gasFilename", ascending: true).filter("(gasFilename CONTAINS[cd] %@) OR (gasCategory CONTAINS[cd] %@)", searchText!)
        }

            self.tableView.reloadData()

    }

我可以让它与gasFilename 的一个查询一起工作,但我认为我在'gasFilename' 和gasCategory 的多个标准方面犯了一个错误......任何人都可以帮助我......谢谢 -绕圈子!

【问题讨论】:

  • 使用 NSPredicate。
  • 我试过 El Tomato - 我正在用 Swift 编写,所以不确定如何实现 NSPredicate 来完成我需要做的事情。谢谢你的帮助。

标签: swift search filter realm


【解决方案1】:

尝试再添加一个searchText!

realm.objects(GasFile.self)
    .sorted(byKeyPath: "gasFilename", ascending: true)
    .filter("(gasFilename CONTAINS[cd] %@) OR (gasCategory CONTAINS[cd] %@)", searchText!, searchText!)

【讨论】:

  • 天啊——当然!! Anton Belousov 你太棒了......非常感谢你!!!
猜你喜欢
  • 1970-01-01
  • 2023-03-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多