我想在数据库上进行实时搜索。
假设我想通过公司搜索,我在名为companies的专栏中有以下信息。
我有一个在editchanged上调用函数的文本字段。
@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”中),则查询不会显示任何内容。
关于如何解决这个问题的任何想法。
答案 0 :(得分:1)
我认为您的问题来自于每次搜索都在编写user
对象。只要您向前移动就可以了,但是当您像往常一样倒退时,查询就会混乱。
相反,请尝试向视图控制器添加currentQuery
属性,并在其中包含集合视图,并将其设置为user.select
语句。
currentQuery = user.select(name)
.filter(like(tempstring, name))
.limit(30, offset: 0)
然后使用currentQuery
对象显示结果。这样,无论你在搜索什么,它都会匹配所有内容。