У меня есть одна проблема, если короче у меня есть модуль поиска, который подключен к серверу разбора.
И в этой базе данных у меня есть более 50 таблиц данных , в которых я храню некоторыеданные и для поиска я использую этот код:
func searchBarSearchButtonClicked(_ searchBar: UISearchBar) {
searchBar.resignFirstResponder()
searchResult.removeAll(keepingCapacity: false)
answer.removeAll(keepingCapacity: false)
tableView.reloadData()
let firstQuery = PFQuery(className: "table1")
firstQuery.whereKey("question", contains: searchBar.text)
let seccondQuery = PFQuery(className: "table2")
seccondQuery.whereKey("question", contains: searchBar.text)
let query3 = PFQuery(className: "table3")
query3.whereKey("question", contains: searchBar.text)
let query4 = PFQuery(className: "table4")
query4.whereKey("question", contains: searchBar.text)
let queryArry = [firstQuery, seccondQuery, query3, query4]
for query in queryArry {
query.findObjectsInBackground { (result, error) in
if let objects = result {
for object in objects {
let question = object.object(forKey: "question") as! String
let answer = object.object(forKey: "answer1") as! String
self.answer.append(answer)
self.searchResult.append(question)
}
DispatchQueue.main.async {
self.tableView.reloadData()
self.resignFirstResponder()
}
}
}
}
}
Как вы можете видеть, у меня есть 4 запроса, и некоторые, как я хочу улучшить это, потому что каждый раз, когда я не хочу копировать эту часть кода:
let firstQuery = PFQuery(className: "table1")
firstQuery.whereKey("question", contains: searchBar.text)
Может быть, есть возможность улучшить?