`

Tried to obtain the web lock from a thread解决方法之一

 
阅读更多

http://blog.csdn.net/musou_ldns/article/details/7242359

项目中一个UIViewController内使用异步线程,异步线程未执行完时pop退出此画面,程序crash。控制台打出错误如下:

 

Tried to obtain the web lock from a thread other than the main thread...

 

经调查,发现是由于UIViewController的release方法没有在主线程中调用造成的crash,修改方法如下:

 

- (oneway void) release {
   if (![NSThread isMainThread]) {
       [self performSelectorOnMainThread:@selector(release) withObject:nil waitUntilDone:NO];
   } else {
       [super release];
   }
}

 

添加以上代码到UIViewController中,当不在主线程中执行release时,强行回到主线程中执行。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics