Выполнить метод без задержки - PullRequest
3 голосов
/ 04 мая 2009

В моем контроллере представления есть несколько методов, которые загружаются для будущих действий, я вызываю их все в одном методе, например:

- (void) updateSongInformation {
     artistName.text = @"Testing";
     [self setupEmail];
     [self checkStatus];
}

Если я уберу последние 2 строки, UILabel обновляется мгновенно. Есть ли способ запустить последние 2 метода в фоновом режиме, чтобы пользовательский опыт не задерживался?

1 Ответ

8 голосов
/ 04 мая 2009

executeSelector: withObject: afterDelay: позволит вам перевести вызовы в более поздний цикл выполнения цикла.

Если эти два вызова занимают значительное количество времени, из-за чего пользовательский интерфейс чуть позже перестает отвечать на запросы, что может не соответствовать вашим ожиданиям. В этом случае вам нужно будет либо разбить операции на маленькие кусочки и продолжать использовать executeSelector: withObject: afterDelay: чтобы сделать следующий кусочек, либо перенести работу в фоновый поток .

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