1

コア データを含むマスター/ディテールからのテスト アプリは、アプリを閉じてもデータを保存していませんでした。

MasterViewController.m で、テンプレート メソッドに次の 2 行を追加しました。

- (void)controllerWillChangeContent:(NSFetchedResultsController *)controller {
    [self.tableView beginUpdates];

    NSError *error = nil;
    [self.managedObjectContext save:&error];
}

データは、詳細からマスター ビューに戻って、アプリの使用全体でディスク ストアに正しく保存されるようになりました。ただし、この方法を使用した場合の影響については疑問に思っています。

詳細ビューに複数のテキスト フィールドがあり、データをドキュメント ディレクトリに保存するための簡単な方法 (良い時間) が必要な場合、これが保存を実行する最善の方法ですか?

フォーカスがテキスト フィールドを離れた後、他の候補メソッドが呼び出されていることに気付きました。

  • コントローラー: didChangeObject:
  • controllerDidChangeContent:

どのような理由でどのような場所が良いですか?

4

1 に答える 1

0

唯一の正解はありません。これは、アプリの動作方法と、アプリ内で「OK、この状態を失わないようにしましょう」と言うのが理にかなっている場合によって異なります。これがどこにあるかはアプリによって異なります。状態を保存するのに常に適切な場所である特定のメソッドが 1 つあるわけではありません。一般的には、ユーザーが特定のアクションまたはタスクを完了したときです。現在のアプローチがアプリで理にかなっている場合、それは適切なソリューションです。そうでない場合は、意味のある場所を見つけて、そこに変更を保存します。

于 2013-07-18T22:36:41.530 に答える