我有一个UISearchController
,当用户单击“取消”按钮时,它会被关闭。用户单击“取消”按钮后,我希望首先关闭UISearchController
,然后需要调用showNewTableData方法。这是我正在使用的代码。
- (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar {
dispatch_async(dispatch_get_main_queue(), ^{
[self showNewTableData];
});
}
- (void)showNewTableData {
if (self.searchController.active && self.searchController.searchBar.text.length > 0) {
// show search data
} else {
// show non search data
}
}
使用dispatch_async
似乎可以很好地满足我的要求,但是不确定这是否是一个好主意。如果我不使用dispatch_async
,我将最终显示搜索数据,因为搜索栏尚未完成清除文本的功能,并且仍处于活动状态。任何建议表示赞赏。
答案 0 :(得分:0)
看到您正在尝试进行UI更改时,可以在主线程中完成此操作。