1

たぶん、これを処理する適切な方法を見つけるのを手伝ってくれるかもしれません:

  1. 非同期サーバー要求を起動するクラスを起動する NSTimer (AppDelegate で開始) があります (私は ASIFormDataRequest を使用します)
  2. HTTP JSON レスポンスを受信したら、TouchJSON を使用して解析します
  3. 次に、取得した NSDictionary をループして、専用の NSManagedObjectContext を埋めます
  4. 次に、このコンテキストをいくつかのユーザー インタラクションに保存します

HTTP 要求が送信され、ユーザーがアプリケーションを終了することがあります。タスク 2 から 4 をバックグラウンドで完了するために余分な時間を確保したい。

Apple doc を読みましたが、非同期アクションが既に開始されているために余分な時間を得る方法がまだ明確ではありませんか?

つまり、 beginBackgroundTaskWithExpirationHandler をどのように使用すればよいですか?

非常に有用なヘルプをありがとう。

ケラウド

4

1 に答える 1

2

ASIHTTPRequest は、バックグラウンドでのリクエストの実行をサポートしています。

[request setShouldContinueWhenAppEntersBackground:YES];

デリゲート通知内で手順 2 ~ 4 を実行し、上記のフラグを設定すると、必要なことが行われます。

ただし、アプリケーションがバックグラウンドに入ると、ユーザーとやり取りすることはできません。

于 2011-04-29T17:36:18.423 に答える