我的场景加载可能需要一段时间,我希望能够显示加载动画,但是,一切都锁定了.有没有办法加载下一个场景异步并在准备好后获得回调?
您可以使用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];
});
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2459 次 |
| 最近记录: |