Home > DeveloperSection > Forums > Executing performSelectorOnMainThread on multithreaded app in iOS?
Mikki Halpin
Mikki Halpin

Total Post:23

Posted on    December-09-2015 11:16 PM

 iPhone iPhone  Ios  Objective C 

 1 Reply(s)
 491  View(s)
Rate this:

When I was creating a multithreaded app in iOS, I noticed that the following code will call the main thread:

[self performSelectorOnMainThread:@selector(rollBar:)

but, I am unable to create multithreaded app, so please anyone tell me the correct procedure to create multithreaded application and what code we use in other controllers to get functionality of multithread in our app.


Tarun Kumar

Total Post:214

Posted on    December-10-2015 10:42 PM

AppDelegate's init method:

NSLog(@"First Thread:  %@", [NSThread isMultiThreaded] ? @"Yes" : @"No");
[self performSelectorOnMainThread:@selector(setDelegate:) withObject:self waitUntilDone: NO];
NSLog(@"Second Thread: %@", [NSThread isMultiThreaded] ? @"Yes" : @"No");

when you run this code, the output in the console will look like this:

2015-12-11 11:46:28.296 MyApplication[82963:20b] First Thread: No
2015-12-11 11:46:28.297 MyApplication[82963:20b] Second Thread: No

The second thread is also written in NSLog statement into method applicationWillTerminate:, and this told me it was not multithreaded.

Don't want to miss updates? Please click the below button!

Follow MindStick