Как остановить последовательность основных потоков относительно временной задержки? - PullRequest
1 голос
/ 10 ноября 2011

Я пытаюсь загрузить пользовательский класс UIActivityIndicatorView, однако я пытаюсь встроить общую задержку, прежде чем появится новое представление после того, как мой UIActivityIndicatorView покажет. Я попытался выполнить функцию after AfterDelay, но это не должно остановить основной поток, а выполнить что-то через 5 секунд. То, что я ищу, - это то, что могло бы фактически остановить выполнение до истечения 5 секунд. Есть ли способ сделать это в iPhone? Я, конечно, могу написать другой метод и вызвать всплывающее окно нового представления после некоторой задержки, но тогда мне придется вызывать этот способ обычно для каждого viewController. Есть ли общий способ обойти это?

Ответы [ 2 ]

1 голос
/ 10 ноября 2011

Ваш индикатор активности пользовательского интерфейса не будет отображаться, пока вы не выйдете в основной цикл выполнения.Способ остановить выполнение вашего приложения - выйти из текущего метода.

Чтобы завершить работу через 5 секунд, поместите ее в другой метод и используйте NSTimer или очередь отложенных операций, чтобы перезапустить обработку вашего приложения.Это общее решение, которое не приведет к зависанию пользовательского интерфейса (и индикаторов активности).

1 голос
/ 10 ноября 2011

Вы не хотите этого делать, блокировка основного потока является ПЛОХОЙ и может привести к 8badf00d. Подумайте о том, чтобы изменить свое решение, чтобы не блокировать основной поток.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...