Как отобразить NSArray для заданного количества времени - PullRequest
1 голос
/ 23 февраля 2012

Я новый разработчик на начальных этапах написания простого словарного приложения для личного пользования на iPhone, и мне интересно, какой метод использовать для контроля, как долго мои слова отображаются на экране .

Я экспериментировал с NSTimer и performSelector:withObject:afterDelay:, но мне интересно, если это самые простые и эффективные способы решения проблемы.

Я не уверен, что мне следуетиспользуйте метод сна, например NSThread sleepForTimeInterval:, потому что я бы хотел, чтобы в приложении были другие функции, пока список слов отображается на экране.

Есть указатели?

Миллион благодарностей.

Ответы [ 2 ]

7 голосов
/ 23 февраля 2012

NSTimer или performSelector:withObject:afterDelay: оба хороших варианта. performSelector:withObject:afterDelay: кажется более простым в использовании, на мой взгляд.

Вы не хотите использовать сон, особенно в главном потоке. Это сделает ваше приложение не отвечающим.

Возможно, вы захотите взглянуть на анимацию блоков. Вы можете, например, затемнить слово затем выключить. Смотри: [UIView animateWithDuration:delay:options:animations:completion:]. Сначала это немного пугающе, особенно если вы не знакомы с блоками кода. Но этот метод дает вам много контроля.

3 голосов
/ 23 февраля 2012

Вы можете использовать функцию dispatch_after Grand Central Dispatch:

double delayInSeconds = 2.0;
    dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, delayInSeconds * NSEC_PER_SEC);
    dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
        <#code to be executed on the main queue after delay#>
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...