Biranchi
Biranchi

Reputation: 16327

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

Upvotes: 0

Views: 390

Answers (1)

f3r3nc
f3r3nc

Reputation: 620

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]; 
} 

Upvotes: 2

Related Questions