0
私は、次のhierrachyとアプリしている:ボタンを押すとAppDelegateにタスクがない場合、バックグラウンドでタスクを終了するにはどうすればよいですか?
- Tab bar controller:
- Table view controller -> Some buttons
- Table view controller -> Some buttons
、ユーザーは、1〜10秒(インターネット接続に依存する)の間待つ必要があります。タスクが完了するまで、ユーザーはアプリを終了し、戻ったときにダウンロードしたコンテンツを見ることができるはずです。
私はそれがI have to implement applicationDidEnterBackground()であることを認識しています。私はガイドを読んだことがあるが、私が理解していないことは、データが別のビューコントローラにあるので、それをアプリケーションデリゲートにどのように渡すのだろうか?アプリケーションデリゲートには、計算を完了するために必要なすべてのデータがありません。さらに、途中であれば、どのようにしてアプリケーションデリゲートに渡しますか(終了した作業を失うことなく)?
おおよそ私が投稿していた簡潔なバージョンです。アプリケーションデリゲートに何も渡す必要はありません。 http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIApplication_Class/Reference/Reference.htmlに記載されている通知を確認してください(下部の「通知」セクションまでスクロールしてください)。あなたが必要とする限り、適切なものを聞くためにコントローラを登録してください。 – Tommy
通知に関する知識が不足して申し訳ありません。だから私は自分の仕事をする前に、[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(theBigTask)name:UIApplicationDidEnterBackgroundNotification object:nil]と書いています。それはあなたが意味することですか? –