我有两种方法。一种方法用于加载我的 SVProgressHUD,第二种方法用于从我的 coreData 获取数据并对其进行排序,然后将其呈现在新的 UITableView 中。用户选择的是 UITableViewCell,它调用:
didSelectRowAtIndexPath
然后我有两个方法调用,第一个是:
[self loadHUD];
此方法加载一个 hud(如果我在 didSelectRowAtIndexPath 中实现第二个方法,它永远不会显示)。这是第二种方法:
[self loadAndSortArray];
当我出于某种原因调用此方法时,它会阻止 SVProgressHud 出现,但是如果我删除此方法调用,则 hud 加载正常。
我想知道我如何拥有这两种方法,但在第二种方法开始之前显示 HUD?
最佳答案
所有 View 都在主线程中刷新,如果您不将像 loadAndSortArray
这样的昂贵进程放在后台线程中,您就会遇到这种情况。
你可以把那个方法放在里面:
dispatch_async(dispatch_get_global_queue( DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^(void){
[self loadAndSortArray];
});
关于ios - 方法代码未按正确顺序执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19695353/