繁体   English   中英

Sqlite.swift实时搜索

[英]Sqlite.swift live search

我想在数据库上进行实时搜索。

可以说我想按公司搜索,并且在名为companys的列上有以下信息。

  • Facebook的
  • FastCompany
  • Facebook的
  • 谷歌
  • 微软

我有一个在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”中)时,查询将不显示任何内容。

关于如何解决此问题的任何想法。

我认为您的问题是由于每次搜索都覆盖了user对象。 只要您仅向前移动就可以,但是当您像往后一样向后移动时,查询就会混乱。

而是尝试将currentQuery属性添加到其中具有集合视图的视图控制器,并将其设置为user.select语句。

currentQuery = user.select(name)
        .filter(like(tempstring, name))
        .limit(30, offset: 0)

然后,使用currentQuery对象显示结果。 这样,无论您要搜索什么,它都可以匹配所有内容。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM