0

私はiPadと分割ビューにはかなり慣れていませんが、iPhoneとコアデータには精通しています。そして、変更が失われず、コンテキストの保存が頻繁に呼び出されないように、変更を実際に保存する時期を考えています。

ユーザーはマスター ビューからアイテムを選択し、それが詳細ビュー コントローラーに表示されます。iPhoneにかなり似ています。ただし、分割ビュー内では、詳細ビュー コントローラーは単に表示されたままになり、マスターで新しい詳細アイテムが選択されるたびに新しい詳細アイテムが割り当てられます。

質問: それまでの間、ユーザーは詳細項目に変更を加えた可能性があります。それらをいつ保存しますか?どのイベントに反応できますか? setDetailItem は、新しい detailItem が表示される前に、古い detailItem への変更を保存するのに適した場所です。罰金。しかし、ユーザーがアプリを終了する直前の項目に変更を加えるとはどういうことでしょうか?

これにいくつかの複雑さを追加するには、TabBar 内でいくつかの分割ビュー コントローラーを実行しています。そのため、ユーザーは 1 つのタブ バーから次のタブ バーに切り替えることができます。viewWillDisappearそれらのイベントを制御するのに適していると思いますか?最後の変更もそこに保存する必要がありますか? アプリを離れるときにも呼び出されますか?

4

1 に答える 1

2

setDetailItemviewWillDisappearユーザーデータを保存するのはいいことだと思います。

viewWillDisappearアプリケーションがバックグラウンドに入るときは呼び出されませんがapplicationDidEnterBackground、アプリケーションではデリゲートが呼び出されます。ドキュメントによると、

... このメソッドを使用して、共有リソースを解放し、ユーザー データを保存し、タイマーを無効にし、十分なアプリケーション状態情報を保存して、後で終了した場合にアプリケーションを現在の状態に復元する必要があります。...

または、 に登録することもできますUIApplicationDidEnterBackgroundNotification

于 2013-03-02T16:44:27.450 に答える