В моем приложении в какой-то момент у меня есть куча сообщений, запланированных с использованием performSelector
.
В некоторых случаях при обработке действия пользовательского интерфейса мне нужно дождаться срабатывания всех текущих запланированных селекторов.
Я мог бы поместить свой код в другой метод и запланировать его, используя performSelector:target:argument:order:modes:
со значением order
, достаточно высоким, чтобы быть уверенным, что он сработает последним, но есть причины, по которым я думаю, что это будет уродливое решение.
Итак, я отправляю [[NSRunLoop currentRunLoop] runUntilDate:[NSDate date]]
, и, похоже, он работает именно так, как мне нужно.
Тем не менее, я не уверен, что это законный способ запустить цикл выполнения только для одной итерации. Кроме того, есть ли какие-либо потенциальные проблемы, связанные с этим подходом?