【问题标题】:NSThread Error in Objective-CObjective-C 中的 NSThread 错误
【发布时间】:2009-11-06 09:50:20
【问题描述】:

我收到这个错误

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

这是因为什么?

谢谢

【问题讨论】:

    标签: objective-c nsthread


    【解决方案1】:

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

    尝试改用以下方法:

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

    == 编辑 ==

    如果那是您的 appDelegate 从线程中获取回调,请尝试在您的回调之外添加一个新方法:

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

    并从 上面提到的线程:

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

    【讨论】:

    • 在我的 viewDidLoad 方法中,我正在创建一个 UIImageView。然后我调用一个线程,它从 URL 获取图像,并在线程方法中为该 ImageView 设置图像。
    猜你喜欢
    • 2011-07-23
    • 1970-01-01
    • 2010-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-04
    • 1970-01-01
    相关资源
    最近更新 更多