Вы действительно не можете. Или, возможно, но это была бы тонна работы, которая в конечном итоге просто обернула бы NSRunLoop
сам материал.
В контексте iOS и Mac OS X основным циклом событий является цикл выполнения, и такие вещи, как модальные панели, HUD и т. Д., Спроектированы вокруг этой детали.
Код, который вы показываете, является вложенным циклом выполнения . Вы эффективно выполняете основной цикл выполнения в подцикле во внешнем цикле, который также поддерживается главным циклом выполнения! (Если бы вы установили точку останова для метода действия, запущенного во внутреннем цикле, вы бы увидели, что я имею в виду в обратном следе).