Objective-C中的NSThread错误

时间:2009-11-06 09:50:20

标签: objective-c nsthread

我收到此错误

bool _WebTryThreadLock(bool),0x1b53d0:尝试从主线程或Web线程以外的线程获取Web锁。这可能是从辅助线程调用UIKit的结果。现在崩溃......

这是由于什么原因?

由于

1 个答案:

答案 0 :(得分:2)

根据您提供的有限信息,我假设您从一个线程创建一个UIView(或任何一个子类)。

请尝试使用以下内容:

[self performSelectorOnMainThread:<#(SEL)aSelector#>
                       withObject:<#(id)arg#> 
                    waitUntilDone:<#(BOOL)wait#>];

== edit ==

如果这是你的appDelegate从线程获得回调,请尝试在回调之外添加新方法:

- (void) setMyImage:(UIImage*)theImage { 
   ... 
   myUIImageView.image = theImage; 
   ...
} 

并从中调用此方法 如上所述的线程:

- (void) callBackWithImage:(UIImage*)imageFromUrl { 
    [self performSelectorOnMainThread:@selector(setMyImage:) 
                           withObject:imageFromUrl 
                        waitUntilDone:NO]; 
}