从后台线程调用dealloc
在UIViewController
上是错误的吗?似乎UITextView
(可以吗?)最终调用_WebTryThreadLock
这会导致:dealloc在后台线程
布尔_WebTryThreadLock(布尔):试图从一个线程 比主线程或web线程以外获得网络锁定。这可能是从辅助线程调用 到UIKit的结果。
背景:我有一个子类NSOperation
,需要一个selector
和target
对象来通知。
-(id)initWithTarget:(id)target {
if (self = [super init]) {
_target = [target retain];
}
return self;
}
-(void)dealloc {
[_target release];
[super dealloc];
}
如果UIViewController
当NSOperation
得到各地的跑步已经被开除,然后调用release
触发它的dealloc
在后台线程。
[我的解决方案(使用NSTimer强制最后一个发布到主线程上)](http:// stackoverflow。com/questions/6353471/block-release-deallocating-ui-objects-on-a-background-thread/6482941#6482941“My solution”) – Jeff 2011-06-26 08:44:54