NSInMemoryStoreType
ストアに基づく Core Data スタックがあります。そして、オブジェクトを削除しても、実際にはそれらが削除されたり nil になったりするのではなく、単純に障害になることに気付きました。
たとえば、(MyManagedObjectEntityClass と <> 識別子はプレースホルダーです) :
MyManagedObjectEntityClass *o = [NSEntityDescription insertNewObjectForEntityForName:@"<MyManagedObjectEntityClass Entity Name>" inManagedObjectContext:self.localContext];
NSLog(@"\n%@", o);
[self.localContext deleteObject:o];
NSLog(@"\n%@", o);
オブジェクトがまだそこにあることをログに記録するのは、そのデータが障害であるということだけです。
また、削除後に追加 [self.localContext save:nil];
しても、これは変わりません。
ある時点で のo
変数をテストできることを望んnil
でいました。その場合、オブジェクトをリロードしますが、できないようです。
念のため、はい、代わりにテストできることはわかってo
い-isFault
ます。しかし、このテストを NSSet に外挿すると[[set anyObject] isFault]
、そのセット内のすべてのオブジェクトが削除されたと結論付けることはできません (理想的には、セットのカウントは 0 ですが、すべてのオブジェクトはまだ障害として残っています)。
したがって、オブジェクトが管理対象オブジェクトであるという事実に対して透過的な方法でオブジェクトが削除されたことをテストできるようにするために、それがまったく可能かどうか、またはどのような代替アプローチを取ることができるか疑問に思っています。