Фильтрация данных области в UITableView с 2 критериями - PullRequest
0 голосов
/ 27 мая 2018

надеясь, что удивительные люди 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 ... любой, кто мне поможет... спасибо - хожу по кругу!

1 Ответ

0 голосов
/ 27 мая 2018

Попробуйте добавить еще searchText!

realm.objects(GasFile.self)
    .sorted(byKeyPath: "gasFilename", ascending: true)
    .filter("(gasFilename CONTAINS[cd] %@) OR (gasCategory CONTAINS[cd] %@)", searchText!, searchText!)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...