iOS如何在少量数据中查找数据table解析swift4
iOS How to search data at the few Data table Parse swift 4
我有搜索模块,连接到解析。
我想从少量数据 table 基础进行搜索。
我使用下一个代码进行搜索:
var searchResult = [String]()
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return searchResult.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath)
cell.textLabel?.text = searchResult[indexPath.row]
return cell
}
搜索栏此代码:
func searchBarSearchButtonClicked(_ searchBar: UISearchBar) {
searchBar.resignFirstResponder()
let firstQuery = PFQuery(className: "fried")
firstQuery.whereKey("best", contains: searchBar.text)
let seccondQuery = PFQuery(className: "home")
seccondQuery.whereKey("home", contains: searchBar.text)
let query = PFQuery.orQuery(withSubqueries: [firstQuery,seccondQuery])
query.findObjectsInBackground { (result, error) in
if let objects = result {
self.searchResult.removeAll(keepingCapacity: false)
for object in objects {
let question = object.object(forKey: "question") as! String
let answer = object.object(forKey: "answer1") as! String
let test = question + " " + answer
self.searchResult.append(test)
}
DispatchQueue.main.async {
self.tableView.reloadData()
self.resignFirstResponder()
}
}
}
}
我遇到了这种类型的错误:
reason: 'All sub queries of an or
query should be on the same class.'
可以在几个数据库中进行搜索吗?
一次搜索一个 class,orQuery
是在相同 class
的子查询上完成的
self.searchResult.removeAll(keepingCapacity: false) // Start by emptying the search resulys array
firstQuery.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
let test = question + " " + answer
self.searchResult.append(test)
}
DispatchQueue.main.async {
self.tableView.reloadData()
self.resignFirstResponder()
}
}
}
seccondQuery.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
let test = question + " " + answer
self.searchResult.append(test)
}
DispatchQueue.main.async {
self.tableView.reloadData()
self.resignFirstResponder()
}
}
}
或更具体地说:
let queryArry = [firstQuery, secondQuery]
for query in queryArray {
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
let test = question + " " + answer
self.searchResult.append(test)
}
DispatchQueue.main.async {
self.tableView.reloadData()
self.resignFirstResponder()
}
}
}
}
我有搜索模块,连接到解析。
我想从少量数据 table 基础进行搜索。
我使用下一个代码进行搜索:
var searchResult = [String]()
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return searchResult.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath)
cell.textLabel?.text = searchResult[indexPath.row]
return cell
}
搜索栏此代码:
func searchBarSearchButtonClicked(_ searchBar: UISearchBar) {
searchBar.resignFirstResponder()
let firstQuery = PFQuery(className: "fried")
firstQuery.whereKey("best", contains: searchBar.text)
let seccondQuery = PFQuery(className: "home")
seccondQuery.whereKey("home", contains: searchBar.text)
let query = PFQuery.orQuery(withSubqueries: [firstQuery,seccondQuery])
query.findObjectsInBackground { (result, error) in
if let objects = result {
self.searchResult.removeAll(keepingCapacity: false)
for object in objects {
let question = object.object(forKey: "question") as! String
let answer = object.object(forKey: "answer1") as! String
let test = question + " " + answer
self.searchResult.append(test)
}
DispatchQueue.main.async {
self.tableView.reloadData()
self.resignFirstResponder()
}
}
}
}
我遇到了这种类型的错误:
reason: 'All sub queries of an
or
query should be on the same class.'
可以在几个数据库中进行搜索吗?
一次搜索一个 class,orQuery
是在相同 class
self.searchResult.removeAll(keepingCapacity: false) // Start by emptying the search resulys array
firstQuery.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
let test = question + " " + answer
self.searchResult.append(test)
}
DispatchQueue.main.async {
self.tableView.reloadData()
self.resignFirstResponder()
}
}
}
seccondQuery.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
let test = question + " " + answer
self.searchResult.append(test)
}
DispatchQueue.main.async {
self.tableView.reloadData()
self.resignFirstResponder()
}
}
}
或更具体地说:
let queryArry = [firstQuery, secondQuery]
for query in queryArray {
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
let test = question + " " + answer
self.searchResult.append(test)
}
DispatchQueue.main.async {
self.tableView.reloadData()
self.resignFirstResponder()
}
}
}
}