При выполнении веб-запроса или любой другой длительной задачи я должен делать это в отдельном потоке (назовем этот поток B), чтобы не блокировать пользовательский интерфейс. Но каков стандартный способ принятия мер по результатам после выполнения задачи?
Я уже придумал эти варианты:
1) Установите пользовательское событие, которое запускается в потоке B, когда запрос завершается, и что основной поток прослушивает и обрабатывает должным образом.
2) Когда запрос завершится, вызовите InvokeOnMainThread из потока B.
3) Передайте ссылку на ViewController при запуске потока B. А затем, когда веб-запрос завершится, выполните все необходимые действия на viewcontroller в самом потоке B.