6

アプリに短いセットアッププロセスがあり、個人の名前やその他の詳細を保存するNSManagedObjectを作成しますが、このセットアップ中に、ユーザーが最後に[完了]を押すまでオブジェクトを保存したくありません。セットアップ(何らかの理由でセットアップをキャンセルした場合に備えて)。

それで、実際にCoreDataに保存せずに、セットアッププロセスが終了するまで、私の情報を保持しているオブジェクトを短時間保持し続けることは可能ですか?

4

2 に答える 2

12

使用することもできます

NSEntityDescription *ed = [NSEntityDescription entityForName:@"YourManagedObject" inManagedObjectContext:managedObjectContext];
YourManagedObject *obj = [[[YourManagedObject alloc] initWithEntity:ed insertIntoManagedObjectContext:nil] autorelease];

コンテキストに挿入せずに管理対象オブジェクトを作成します。後で呼び出すことでそれを行うことができます[managedObjectContext insertObject:obj];

于 2012-04-15T18:46:26.470 に答える
3

CoreDataを処理している場合、すべての追加/変更/削除アクションはNSManagedObjectContextで発生しますが、そのコンテキストで「保存」を呼び出すまで、変更はディスクに保持されません。

したがって、答えは「はい」です。これは、すでに取得しているはずの動作です。NSManagedObjectsのプロパティを追加または変更する場合、これらの変更はコンテキストのメモリに保持されますが、実際に「save」を呼び出すまでディスクに保存されません。

于 2012-04-15T18:38:30.430 に答える