如何使用Swift中的query.whereKey检查UISearchBar是否返回了结果

时间:2016-02-10 22:01:47

标签: ios swift parse-platform pfquery pfquerytableviewcontrolle

我有一个PFQueryTableViewController,我已经添加了UISearchBar。在我的QueryForTable函数中,我运行此代码来检查输入searchBar的文本是否与我的Parse列中的任何值匹配,如果是,它只显示表中的那些电影:

override func queryForTable() -> PFQuery {
let query = PFQuery(className: "Reviews")
query.orderByDescending("createdAt")

if filmSearchBar.text != "" {

    query.whereKey("FilmName", containsString: filmSearchBar.text!)

}

    return query

}

目前一切正常,没有任何问题。

我想做的是,如果没有找到结果,则向用户显示警告,让他们知道没有找到任何结果。目前,如果用户在我的Parse数据库中搜索了一些随机的东西,它只显示一张空白表(这在技术上是正确的) - 但我想知道如何先进行检查,所以如果搜索条目没有匹配任何内容,请显示此警报,否则,如果有,则只显示当前的电影。

感谢任何帮助,谢谢

1 个答案:

答案 0 :(得分:1)

你不能只用findObjects或findObjectsInBackgroundWithBlock来计算对象

if filmSearchBar.text != "" {
    query.whereKey("FilmName", containsString: filmSearchBar.text!)
}
query.findObjectsInBackgroundWithBlock{ (array:[PFObject]?, error:NSError?) in 
   if array?.count == 0 {
    showAlert()
  }
}