UIViewController
의 dealloc
을 백그라운드 스레드에서 호출하는 것은 오류입니까?배경 스레드에 dealloc
부울 _WebTryThreadLock (부울) :
UITextView
은 (? CAN) 결국 결과_WebTryThreadLock
를 호출 할 것으로 보인다 메인 스레드 또는 웹 스레드가 아닌 다른 스레드 에서 웹 잠금을 얻기 위해 노력했다. 보조 스레드에서 UIKit에 을 호출 한 결과 일 수 있습니다.
배경 : 나는 selector
하고 알리는 target
오브젝트를 서브 클래 싱 NSOperation
있습니다. NSOperation
이 실행에 주위를 얻을 때 UIViewController
가 이미 기각 된 경우
-(id)initWithTarget:(id)target {
if (self = [super init]) {
_target = [target retain];
}
return self;
}
-(void)dealloc {
[_target release];
[super dealloc];
}
후 release
에 대한 호출은 백그라운드 스레드에 dealloc
의 트리거합니다.
[내 솔루션 (NSTimer를 사용하여 마지막 스레드를 주 스레드로 강제 실행)] (http : // stackoverflow.com/questions/6353471/block-release-deallocating-ui-object-on-a-background-thread/6482941 # 6482941 "내 솔루션") – Jeff