dispatch_sync(dispatch_get_main_queue(), ^(){
NSLog(@"222");
});
在ios中是無法使用 dispatch_sync(dispatch_get_main_queue()
原因如下:
在ios使用 dispatch_sync(dispatch_get_main_queue()^(){block體});
dispath向主隊列加一個同步的block;
此時主隊列在等待 dispatch_sync(dispatch_get_main_queue()^(){block體});執行
dispatch_sync在等待主隊列執行完畢。
造成死鎖。
所以在ios使用主隊列 dispatch_get_main_queue() 時 應該使用異步執行
dispatch_async(dispatch_get_main_queue(), ^(){
NSLog(@"222");
});
原文鏈接:http://www.software8.co/caozuoxt/ios/3512.html