ユーザーがテーブルの一番下に到達したときにサーバーからより多くのデータを要求する UITableView があります (Twitter アプリケーションと同様)。ただし、モーダルセグエを使用して、ユーザーの希望に合わせてデータを除外しようとしています。フィルタリングするデータを適切に選択するには、すべてのデータを読み込んで分類する必要があります。すべてをロードするには、複数の NSURLConnections を送信して複数のページをロードする必要があります。私はそれを持とうとしているので、1つが完了すると次が始まります。
ただし、接続は で完了するためconnectionDidFinishLoading
、 内から同時に NSURLConnections を送信する方法がわかりませんprepareForSegue
。次のようにwhileループを使用してみましたprepareForSegue
:
while (All of the data is not loaded) {
if (isLoading == NO) {
[self loadMoreResults];
}
}
ここで、「isLoading」はBOOL
ビューコントローラーの実装ファイルで宣言されています。isLoading は 内で値を YES に変更し、 の最後で にloadMoreResults
戻ります。ただし、 内では、isLoading が YES から NO に戻ることはありません。NO
connectionDidFinishLoading
prepareForSegue
これはマルチスレッドの問題ですか? 他の質問について調査したところ、NSURLConnection にsendAsynchronousRequest:queue:completionHandler:
は完了ハンドラーが役立つ可能性のあるクラス メソッドがあることがわかりましたが、それをどのように使用するかはわかりません。
prepareForSegue
また、リクエストを送信した直後ではなく、最後の接続が終了した後も実行を続けたいです。
前もって感謝します!