Не в состоянии понять использование NS runloop - PullRequest
0 голосов
/ 15 марта 2012

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

[[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate distantFuture]];

в файле main.m, строка №: 169.

Какая польза отэта линия?Почему нам нужно запустить эту строку, пока self.ping не станет равным нулю.Я новичок, поэтому, пожалуйста, потерпите меня.Я потратил почти 5 часов на изучение циклов бега, таймеров, но в моей голове ничего не происходит.

1 Ответ

0 голосов
/ 15 марта 2012

s У меня все еще не было времени взглянуть на код, но обычно он используется для поддержания цикла выполнения.Основной поток всегда поддерживается, но если вы создадите другой поток с какой-то асинхронной операцией, он будет мертв, как только начнет получать обратные вызовы, таким образом, вы сохраните поток живым.Например: предположим, что вы хотите управлять всеми асинхронными операциями загрузки в другом потоке, класс NSURLConnection предоставляет асинхронные обратные вызовы на основе шаблона делегирования.Если вы порождаете ваше соединение в другом потоке, как только оно достигает конца метода, поток будет закрыт, и у вас не будет возможности получить эти обратные вызовы.При сохранении этой темы все будет работать.

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