Jak mogę poczekać, aż delegat NSURLConnection zakończy się przed wykonaniem następnej instrukcji?

To było trudne do przeszukania. Znalazłem podobne pytanie,iOS 5 Poczekaj, aż delegat skończy przed wypełnieniem tabeli?, ale zaakceptowaną odpowiedzią było „Odśwież widok tabeli” i to mi nie pomaga. Inne wyniki, które znalazłem, były zazwyczaj w c #.

Mam aplikację, która strumieniuje z iPhone'a na serwery Wowza. Kiedy użytkownik uderza w rekord, generuję unikalny identyfikator urządzenia, a następnie wysyłam go do skryptu PHP na serwerze, który zwraca dokument JSON z ustawieniami konfiguracyjnymi (w tym łącze zrzutu rtmp).

Problem polega na tym, że metody delegowania są asynchroniczne, ale muszę uzyskać ustawienia konfiguracji przed kolejnymi wierszami kodu w moim- (IBAction)recordButtonPressed metoda, ponieważ kod ten określa ustawienia profilu, a następnie zapisy oparte na tych ustawieniach.

Zdałem sobie sprawę, że mogę zrobićNSURLConnection w-recordButtonPressed tak jak obecnie, a następnie kontynuuj kod instalacyjnywewnątrz metoda delegowanaconnectionDidFinishLoading (lub po prostu obuduj konfigurację i metodę wywołaj ją stamtąd), ale to poświęca spójną konstrukcję dla funkcjonalności i jest do bani.

Czy nie ma czegoś prostegowaitUntilDelegateIsFinished:(BOOL)nonAsyncFlag flaga, którą mogę wysłać do delegatora, aby móc wykonywać sekwencyjne operacje, które pobierają dane z sieci?

questionAnswers(3)

yourAnswerToTheQuestion