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