Определить, вызывается ли метод в фоновом режиме / на переднем плане

Я хотел бы определить, вызван ли метод из цели c и выполняется ли он на NSThread это работает на переднем плане или фоне.

Спасибо

2 ответа

Решение

Вы можете проверить, является ли текущий поток основным с помощью:

+ (BOOL)[NSThread isMainThread]
(void)viewDidLoad
    {
        [super viewDidLoad];
        // Do any additional setup after loading the view, typically from a nib.

        //this thread called method in background thread
        dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,
                                                 (unsigned long)NULL), ^(void) {
            [self callBackMethod];
        });

        //this method call work with main thread
        [self callBackMethod];
    }
    -(void)callBackMethod
    {
        if ([NSThread isMainThread]) {
            NSLog(@"main thread....");
        }else
        {
            NSLog(@"background thread..");
        }
    }
Другие вопросы по тегам