ios - 方法代码未按正确顺序执行

标签 ios objective-c methods svprogresshud

我有两种方法。一种方法用于加载我的 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/

相关文章:

java - 从 Java 中的方法打印数组

ios - 如何调试 Apple 加速器代码中的 EXC_BAD_ACCESS?

iphone - 当我们有 xcode 时,airplay sdk 的实用程序是什么?

iphone - 如何判断iPhone/iPod手机是否可以使用?

ios - 以编程方式在 iOS 上滚动 UIWebView

TypeScript:接口(interface)方法实现

ios - 多个 parse.com 应用程序 ID,以减少 API 请求

objective-c - 将 NSUInteger 除以 100

ios - Cocos2D & ccDrawLine - 绘制流畅的线条

java - Python 真的为每个新实例创建所有绑定(bind)方法吗?