從後臺線程調用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