Я понимаю, что не может быть правильного ответа, но мне было очень любопытно узнать, что люди думают об этой проблеме, или если есть плюсы и минусы для следующих подходов. Первый пример отправляет уведомление по основному потоку, а второй пример обрабатывает уведомление в основном потоке. Если бы вы выбрали один из двух подходов, какой и почему?Что лучше, отправка NSNotification в основной поток или передача уведомления по основному потоку
dispatch_async(dispatch_get_main_queue(), ^{
[[NSNotificationCenter defaultCenter] postNotificationName:@"notificationName"
object:nil];
});
- (void)handleNotification:(NSNotification *)notification {
dispatch_async(dispatch_get_main_queue(), ^{
[self updateUI];
});
}
Это имеет смысл направить уведомление о главном потоке, если вы знаете, что некоторые из обработчиков должны иметь дело с элементами пользовательского интерфейса. Однако, если есть несколько сайтов уведомлений, то это становится потенциальной ошибкой. Я бы предпочел отправить основной поток в обработчике уведомлений, чтобы каждый обработчик имел полный контроль над этим.
Я ценю любые отзывы, которые у вас есть.
Это неправильная информация. Проводка уведомления через центр уведомлений является синхронной – Shai