我想在数据库上做个现场搜索。
假设我想通过公司进行搜索,我在一个名为“公司”的专栏中有以下信息。
我有一个textfield,它调用了一个对编辑进行修改的函数。
@IBAction func searching(sender: AnyObject) {
tempstring = "%"+searchBar.text+"%"
println(tempstring)
user = user.select(name)
.filter(like(tempstring, name))
.limit(30, offset: 0)
collectionView?.reloadData()
}如果我开始输入"fa“,它就会显示出来(Facebook、Facebook和FastCompany)
如果我继续输入"fac“,它就会显示出来(Facebook,Facebook)
但是,当我从搜索框中删除最后一个字符"c“(将其保留在"fa”中)时,查询将不会显示任何内容。
对我如何解决这个问题有什么想法。
发布于 2015-07-23 16:32:41
我认为您的问题来自于通过每次搜索来编写user对象。只要您只向前移动,这就好了,但是当您像以前一样向后退时,查询就会混乱。
相反,尝试将currentQuery属性添加到包含集合视图的视图控制器中,并将其设置为user.select语句。
currentQuery = user.select(name)
.filter(like(tempstring, name))
.limit(30, offset: 0)然后使用currentQuery对象来显示结果。这样,不管你在搜索什么,它都会匹配所有的东西。
https://stackoverflow.com/questions/31592962
复制相似问题