最近在开发过程中碰到一个问题,发现在使用present方法打开一个viewcontroller的时候觉得打开的很慢,或者在第二次触碰屏幕之前不打开。这是一个比较严重的问题,必须要修改好。
查了很多资料,发现直接在主线程中present一个viewcontroller的话可以迅速地响应。
dispatch_async(dispatch_get_main_queue(), ^(void){
[self presentViewController:yourViewController animated:YES completion:NULL];
});
因为present一张界面出来的时候往往会占用较多资源,所以编译器默认放在后台处理。如果直接获取主线程的话,可以减少很多时间。