希望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的多个标准犯了一个错误。 !

最佳答案

尝试再添加一个searchText!

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

09-06 15:27