首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Sqlite.swift现场搜索

Sqlite.swift现场搜索
EN

Stack Overflow用户
提问于 2015-07-23 16:22:42
回答 1查看 234关注 0票数 1

我想在数据库上做个现场搜索。

假设我想通过公司进行搜索,我在一个名为“公司”的专栏中有以下信息。

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

我有一个textfield,它调用了一个对编辑进行修改的函数。

代码语言:javascript
复制
   @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”中)时,查询将不会显示任何内容。

对我如何解决这个问题有什么想法。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-23 16:32:41

我认为您的问题来自于通过每次搜索来编写user对象。只要您只向前移动,这就好了,但是当您像以前一样向后退时,查询就会混乱。

相反,尝试将currentQuery属性添加到包含集合视图的视图控制器中,并将其设置为user.select语句。

代码语言:javascript
复制
currentQuery = user.select(name)
        .filter(like(tempstring, name))
        .limit(30, offset: 0)

然后使用currentQuery对象来显示结果。这样,不管你在搜索什么,它都会匹配所有的东西。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31592962

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档