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

来源:互联网 发布:淘宝返现 编辑:程序博客网 时间:2024/04/29 01:31

项目中一个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时,强行回到主线程中执行。

原创粉丝点击