Objective C - 在主线程上调用类方法?

ary*_*axt 8 iphone objective-c thread-safety class-method

我如何CLASS METHOD在主线程上调用?就像是:

[SomeClass performSelectorOnMainThread:staticMethod withObject:nil];
Run Code Online (Sandbox Code Playgroud)

请不要告诉我创建一个常规方法来调用这个类方法.这将是一个明显的解决方案,但不是很干净.

谢谢

Dav*_*ong 29

[SomeClass performSelectorOnMainThread:staticMethod withObject:nil waitUntilDone:NO];
Run Code Online (Sandbox Code Playgroud)

是的,performSelectorOnMainThread:withObject:waitUntilDone:不是一种类方法.

是的,它是一个实例方法NSObject.

是的,所有Class对象都是NSObject.(我不是在开玩笑!)


你也可以这样做:

dispatch_async(dispatch_get_main_queue(), ^{
  [SomeClass doClassyThingWithObject:object1 andDiddleyDoo:foo];
});
Run Code Online (Sandbox Code Playgroud)