我的场景加载可能需要一段时间,并且我希望能够显示加载动画,但是,一切都锁定了。有没有办法异步加载下一个场景并在准备好时获取回调?
您可以使用以下命令安排并发执行块异步调度 https://developer.apple.com/library/mac/documentation/Performance/Reference/GCD_libdispatch_Ref/Reference/reference.html#//apple_ref/c/func/dispatch_async。在异步块中加载场景,然后在主线程上执行回调方法,如下所示:
__weak MyClass *weakself = self;
dispatch_async(dispatch_get_global_queue( DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^(void){
//Background thread
//Load scene here
dispatch_async(dispatch_get_main_queue(), ^(void){
//Main thread
//Call your callback method here
[weakself sceneLoaded:loadedScene];
});
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)