Question

In iOS how to perform a method with NSData return type in background.

I have tried this:

NSData *loginiddata=[self performSelectorInBackground:@selector(loaddatawithurl:param:) withObject:OBJ];

but its not working.

Was it helpful?

Solution

There are two problems with performSelectorInBackground in your case: That method has no return value (compare Ken Thomases' comment above), and it works only with methods taking a single argument. The easiest solution (in my opinion) is to use GCD (Grand Central Dispatch) methods instead:

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
    NSData *loginiddata = [self loaddatawithurl:url params:params];
    // ... 
});
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top