私は iPhone アプリを書いています。たとえば、ユーザーがゲームに勝ったなどの特定のイベントが発生した場合、アプリケーションを起動直後に初期状態にリセットしたいと考えています。たとえば、viewDidLoad() を再度実行するなどです。Xcode と Objective C でこれを行う簡単な方法はありますか? ありがとうございました。
1 に答える
アプリの状態を管理するのはあなたです。初期設定が何であるかを知っていれば、すべてをその状態に戻すことができるはずです。簡単な[UIApplication reset]
方法はありませんが、作業を簡単にするテクニックがいくつかあります。
アプリをリセットする必要がある場合は通知を投稿し、自身をリセットする必要がある可能性のあるオブジェクト (View Controller など) がその通知をリッスンしていることを確認します。
-init
初期化コードを別のメソッドに移動し、メソッドとリセット通知ハンドラーの両方から呼び出します。view プロパティを nil に設定することで、View Controller にそのビューをリロードさせることができます。次にそのプロパティにアクセスすると、
-loadView
が呼び出され、関連する .xib が読み込まれるか、必要なビューが作成されます。多くの場合、アプリのデータ モデルを初期状態にリセットするだけで済みます。通常、アプリのビューはデータ モデルの状態を反映する必要があるため、データを消去するとビューも初期状態に戻ります。
なぜこれが本当に必要なのかを考えてみましょう。どこかに「工場出荷時のデフォルトにリセット」ボタンがあれば意味があるかもしれませんが、より多くの設計が必要であることを示している可能性もあります. ユーザーがすべてのデータを選択して削除できないのはなぜですか? ユーザーがこの方法でリセットしたいと思うかもしれない状態を保持していますか?