У меня есть классjective-c, методы которого я только хочу вызывать из основного потока.
Я мог бы добиться этого, добавив что-то вроде этого к каждому селектору:
- (void) exampleSelector: (id) param {
if (![NSThread isMainThread]) {
[self peformSelectorOnMainThread:@selector(exampleSelector:) withObject:param waitUntilDone:YES];
return;
}
// Do stuff it's not safe to do outside the main thread
}
Тем не менее, кажется немного трудным добавить это к каждому отдельному селектору. Есть ли способ, которым я могу автоматически перехватить все вызовы объектов этого класса, проверить, в каком потоке он находится, и использовать executeSelectorOnMainThread, если это не основной поток?