Ios 方法代码的执行顺序不正确
我有两种方法。一种方法用于加载我的SVProgressHUD,第二种方法用于从我的coreData中获取数据并对其进行排序,然后将其显示在新的UITableView中。用户选择的是UITableViewCell,它调用: didSelectRowAtIndexPath 在这里我有两个方法调用,第一个是: [自动加载HUD] 此方法加载一个hud(它从不显示我是否在didSelectRowAtIndexPath中实现了第二个方法)。这是第二种方法: [自动加载和排序] 当我出于某种原因调用此方法时,它会阻止SVProgressHud出现,但是如果我删除此方法调用,hud将正常加载Ios 方法代码的执行顺序不正确,ios,objective-c,methods,svprogresshud,Ios,Objective C,Methods,Svprogresshud,我有两种方法。一种方法用于加载我的SVProgressHUD,第二种方法用于从我的coreData中获取数据并对其进行排序,然后将其显示在新的UITableView中。用户选择的是UITableViewCell,它调用: didSelectRowAtIndexPath 在这里我有两个方法调用,第一个是: [自动加载HUD] 此方法加载一个hud(它从不显示我是否在didSelectRowAtIndexPath中实现了第二个方法)。这是第二种方法: [自动加载和排序] 当我出于某种原因调用此方法时
我想知道如何在第二个方法开始之前显示hud?如果你不在后台线程中添加昂贵的进程(如
loadAndSortArray
),那么所有视图都会在主线程中刷新
您可以将该方法放入:
dispatch_async(dispatch_get_global_queue( DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^(void){
[self loadAndSortArray];
});
我建议深入研究实际显示HUD的调用,看看它是如何实现的。它可能是异步地调度调用,可能有一些不满足的条件。