Я просто попытался приведенный ниже кодПонимание ниже код
dispatch_async(dispatch_get_main_queue(), ^{
[self taskB];
});
[self performSelectorOnMainThread:@selector(taskA) withObject:nil waitUntilDone:NO];
Это taskA
и taskB
не выполняя NSLog
и ничего другого. Теперь вот как taskB
написан первым, но taskA
выполняется в первую очередь. Даже я все еще меняю порядок performSelectorOnMainThread
, выполнив сначала. И для каждого случая моя консоль показывает
2015-03-17 16:44:35.157 TestProject[9346:191978] Task A
2015-03-17 16:44:35.283 TestProject[9346:191978] Task B
Может кто-нибудь помочь мне понять, что здесь происходит. А почему performSelectorOnMainThread
выполнить сначала?