2013-10-30 51 views
0

我有两个方法,一个方法用于加载我的SVProgressHUD,第二个方法用于从我的coreData获取数据,然后排序它,然后将其呈现在新的UITableView中。用户选择是的UITableViewCell它调用方法代码没有以正确的顺序执行

didSelectRowAtIndexPath方法

然后我有两个方法在本次呼叫,首先是

[自loadHUD];

这种方法加载HUD(如果我实现在didSelectRowAtIndexPath方法第二方法,其从未showes) 这是第二个方法

[自loadAndSortArray];

当我调用这个由于某种原因,它阻止SVProgressHud出现,但是如果我删除这个方法调用,然后加载HUD罚款。

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

任何帮助将不胜感激。

+0

我建议你挖成实际显示HUD,看看它是如何实现的呼叫。它可能是异步调度一个调用,也许有一些条件没有得到满足。 – devios1

回答

2

在主线程中刷新所有视图,如果您不在后台线程中投入像loadAndSortArray这样的昂贵进程,则会发生这种情况。

你可以把这个方法里面:

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