方法代码没有按正确的顺序执行

时间:2013-10-30 22:53:42

标签: ios objective-c methods svprogresshud

我有两种方法,一种方法用于加载我的SVProgressHUD,第二种方法用于从我的coreData获取数据并对其进行排序然后将其呈现在新的UITableView中。用户选择的是调用

的UITableViewCell
  

didSelectRowAtIndexPath方法

然后我有两个方法调用,第一个是

  

[self loadHUD];

这个方法加载一个hud(如果我在didSelectRowAtIndexPath中实现第二个方法,它就不会显示) 这是第二种方法

  

[self loadAndSortArray];

当我因某种原因调用它时它会阻止SVProgressHud出现,但是如果我删除了这个方法调用,那么hud加载正常。

我想知道如何使用这两种方法,但在第二种方法开始之前显示hud?

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

所有视图都在主线程中刷新,如果你没有在后台线程中放置像loadAndSortArray这样昂贵的进程,那么这就发生在你身上了。

您可以将该方法放入:

dispatch_async(dispatch_get_global_queue( DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^(void){
    [self loadAndSortArray];
});