如何实现uisearchcontroller以使用post请求从服务器端检索数据

时间:2016-02-09 19:23:40

标签: swift uisearchcontroller

请帮助我如何让uisearchcontroller发送一个关于搜索文本的帖子请求,并带有一个任务来获取json请求并显示它。我已经完成了PHP和JSON端,但卡在了搜索控制器中。我在互联网上找到了关于uisearchcontroller的样本,但是他们都在代码中有他们的数组。他们都没有从服务器端获取数据..

1 个答案:

答案 0 :(得分:0)

执行此操作的方法是使用dispatch_async()updateSearchResultsForSearchController中调用您的服务器API。当服务器请求返回时,更新表数据源中的内部结果数组,并在reloadData上调用UITableView

类似的东西:

func updateSearchResultsForSearchController(searchController: UISearchController) {
    let searchText = searchController.searchBar.text
    let priority = DISPATCH_QUEUE_PRIORITY_DEFAULT
    dispatch_async(dispatch_get_global_queue(priority, 0)) {
        results = remote_api.call(searchText)
        dispatch_async(dispatch_get_main_queue()) {
            self.results = results
            self.tableView.reloadData()
        }
    }    
}

请注意,服务器请求可能会无序返回。您可能想要检查这一点。