简体   繁体   中英

Objective C - Calling a class method on the main thread?

How can I call a CLASS METHOD on the main thread? Something like:

[SomeClass performSelectorOnMainThread:staticMethod withObject:nil];

Please don't tell me to create a regular method to call this class method. That would be an obvious solution, but not clean.

Thanks

[SomeClass performSelectorOnMainThread:staticMethod withObject:nil waitUntilDone:NO];

Yes, performSelectorOnMainThread:withObject:waitUntilDone: is not a class method.

Yes, it is an instance method on NSObject .

Yes, all Class objects are instances of NSObject . ( I'm not kidding! )


You could also do:

dispatch_async(dispatch_get_main_queue(), ^{
  [SomeClass doClassyThingWithObject:object1 andDiddleyDoo:foo];
});

How about:

NSInvocationOperation *operation = [[NSInvocationOperation alloc] initWithTarget:[SomeClass class] selector:@selector(SomeClass) object:nil];
[[NSOperationQueue mainQueue] addOperation:operation];

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