使用2个条件过滤UITableView中的Realm数据

时间:2018-05-27 07:31:07

标签: swift search filter realm

希望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的一个查询来处理它,但我认为我在“气体名称”的多个标准上犯了一个错误。和gasCategory ...任何人帮助我...谢谢你 - 进入圈子!

1 个答案:

答案 0 :(得分:0)

尝试再添加一个searchText!

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