我试图在我的应用程序中实现搜索功能,在用户点击键盘搜索后,{} {}}请求将被发送到API,返回的数据将显示在我的{{ 1}}。但是,它没有工作,我认为是因为请求在一个单独的线程中运行。我尝试过一系列不同的解决方案,但似乎都没有。以下是我的代码。谢谢你的帮助!
HTTP
答案 0 :(得分:0)
您的问题似乎是您在URL请求的完成块之外重新加载数据。另外,我将再次看看你在主队列上放置任务的位置。
答案 1 :(得分:0)
我认为问题是你正在围绕后台进程(NSURLSession调用)包装主队列。 NSURLSession实际上是在后台运行。因此,您需要在NSURLSession块中包含主队列GCD。例如:
if($a == true) {
// Execute this if $a is true.
}
if($b == true) {
// Execute this if $b is true, no matter if the first if
// statement was executed or not.
}
答案 2 :(得分:0)
Simply Add to your closure:
b
If you want your search Results to update in a reactive manner. create a seperate array for Search Result and update your table view to use that array by checking dispatch_async(dispatch_get_main_queue(), ^{
[self.tableView reloadData];
});