简体   繁体   中英

NSThread Error in Objective-C

I am getting this error

bool _WebTryThreadLock(bool), 0x1b53d0: Tried to obtain the web lock from a thread other than the main thread or the web thread. This may be a result of calling to UIKit from a secondary thread. Crashing now...

what is this due to ?

Thanks

From the limited information you gave, I assume that you create a UIView (or any of it'subclass) from a thread.

Try using the following instead:

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

== edit ==

If that's your appDelegate which gets the callback from the thread, try adding a new method besides your callback:

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

and call this from the thread as mentioned above:

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM