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:如何将动态数量的参数传递给方法

ios - 位置标注 View 上方 Pin Swift ios MKMapView

ios - CAShapeLayer 内存管理困境

objective-c - 学习NSBlockOperation

objective-c - iOS 中的异常处理

java - 为什么我的上一个方法没有打印出来?我怎样才能让它执行

javascript - 如何查找所有Javascript对象的方法和属性?

ios - 无法在 objective-c 中使用 class(swift)

ios - Xcode 7 : WatchOS storyboards do not support target device type 'iphone'

iphone - 设备上的 NSLog,这是一个问题还是我必须删除它?