0

ループ内で新しいマネージド オブジェクトを作成して保存し、RAM フットプリントを削減するために、保存した直後にそれらをフォールトさせたいと考えています。

これは、管理対象オブジェクトを作成する方法です。

[objects enumerateObjectsUsingBlock:^(PFObject *obj, NSUInteger idx, BOOL *stop) {
   @autoreleasepool {
   ForexHistory *forexHistory = [NSEntityDescription insertNewObjectForEntityForName:localEntityName 
   inManagedObjectContext:backgroundContext];
   forexHistory.date = obj[@"date"];
   }
}];
NSError *saveError = nil;
[backgroundContext save:&saveError];

オブジェクトをフォールトするには、 を使用する必要があることを理解していますrefreshObjects:mergeChanges

挿入されたすべてのオブジェクトを反復処理してrefreshObjects:mergeChanges:NOそれぞれに送信するために再取得する必要がありますか、それともより良い方法がありますか?

4

1 に答える 1

1

あなたの質問を正しく理解したかどうかわかりません。

でモックを一掃できます-reset。オブジェクトへのすべての参照が無効になります。それらを再取得する必要があります。

于 2013-08-21T09:38:57.903 に答える