Я пришел через этот кусок кода, и я не могу понять, почему автор это сделал. Взгляните на этот код:
someMethodStandardMethodUsingABlock:^() {
dispatch_async(dispatch_get_main_queue(), ^{
[[NSNotificationCenter defaultCenter] postNotificationName:"notif" object:nil];
});
}];
У меня есть метод с блоком завершения, и в этом блоке должно быть размещено уведомление. Я не совсем понимаю, зачем в этом случае dispatch_async
в основной очереди. Блок уже будет запущен в основном потоке, и даже если бы это было не так, я не думаю, что это действительно имело бы значение, не так ли? Я бы просто написал это:
someMethodStandardMethodUsingABlock:^() {
[[NSNotificationCenter defaultCenter] postNotificationName:"notif" object:nil];
}];
И это действительно работает в моем тестировании.
Если вы поможете мне пролить свет на это, я буду вам очень признателен!
Matt