Лучшая практика: NSURLConnection sendSynchronousRequest против sendAsynchronousRequest - PullRequest
1 голос
/ 18 марта 2012

Лучше ли отправлять синхронный или асинхронный запрос?

Я отправляю запрос на сервер, запрашивающий список файлов, которые я бы хотел, чтобы пользователь выбрал.

Ответы [ 3 ]

3 голосов
/ 18 марта 2012

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

Асинхронный не выполняется, поскольку выполняется в другом потоке.

1 голос
/ 18 марта 2012

Вы всегда должны использовать асинхронные запросы, так как они не блокируют поток, из которого они вызываются.Вместо этого они будут вызывать ваши методы делегата, когда соединение не удается или успешно.Если вам нужно запретить пользователю что-либо делать во время работы соединения, используйте класс HUD, такой как MBProgressHUD (проверьте github).

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

Вы хотите использовать асинхронные вызовы при вызове из основного потока.В противном случае весь пользовательский интерфейс перестанет отвечать (например, зависнет), пока сервер не ответит.(Пользовательский интерфейс поддерживается основным потоком).

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


Асинхронный означает, что «вызывающее тело» не будет ждать, пока задача не будет выполнена.

...