iOS 如何优化数据库 Parse swift 4 的查询
Posted
技术标签:
【中文标题】iOS 如何优化数据库 Parse swift 4 的查询【英文标题】:iOS How to optimized querys for data base Parse swift 4 【发布时间】:2018-10-02 06:03:44 【问题描述】:我有一个问题,如果在较短的时间内我有连接到解析服务器的搜索模块。
在这个数据库中,我有超过 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)
也许有些人认为它有改进的可能?
【问题讨论】:
【参考方案1】:如果你不想复制这部分代码
let firstQuery = PFQuery(className: "table1")
firstQuery.whereKey("question", contains: searchBar.text)
你可以这样做:
let query1 = PFQuery(className: "table1")
let query2 = PFQuery(className: "table2")
let query3 = PFQuery(className: "table3")
let query4 = PFQuery(className: "table4")
let queries = [query1, query2, query3, query4]
queries.forEach $0.whereKey("question", contains: searchBar.text)
queries.forEach (query) in
query.findObjectsInBackground()
代码看起来更紧凑
希望我的回答对你有帮助?
【讨论】:
以上是关于iOS 如何优化数据库 Parse swift 4 的查询的主要内容,如果未能解决你的问题,请参考以下文章
iOS 如何在少数数据表中搜索数据 Parse swift 4
IOS 如何使用 Parse Swift 获取每个用户的个人资料图片
如何为经典的帖子和评论模型构建 Parse 数据模型? (使用 iOS、Swift、Parse)
如何将 iOS Swift 应用程序指向 Amazon Web Services 上的 Parse Server?