0

MOC を PersistentDocument に保存する際に問題があります。

MOC に新しい MO を挿入し、保存します (たとえば)。

    NSManagedObject *person=[[NSManagedObject alloc] initWithEntity:[NSEntityDescription entityForName:@"Person" inManagedObjectContext:self.managedObjectContext] insertIntoManagedObjectContext:self.managedObjectContext];

    if(person)
    { 
        [person setValue:@"test" forKey:@"name"];
        NSError *error;
        [self.managedObjectContext save:&error];
    } 

この時点で MO を保存する必要があります。これは、バックグラウンド スレッドがエンティティに対して何らかの計算を行うために MO の一時的な objectID が必要ないためです。

しかし、この方法で MOC を保存すると、リクエスターが表示されます

ドキュメント「Untitled.binary」を保存できませんでした。ファイルは別のアプリケーションによって変更されました。

[保存] をクリックして変更を保持し、他のアプリケーションによる変更をバージョンとして保存するか、[元に戻す] をクリックして、他のアプリケーションからの変更を保持し、変更をバージョンとして保存します。

次に Document がコンテンツを保存しようとするとき。代わりにドキュメントを保存できません。これはまだ無題のドキュメントであり、[ドキュメントの保存] を呼び出すと保存リクエスタが開き、ユーザーにとってあまり快適ではない可能性があるためです。

解決策はありますか?

ありがとう

クロース

4

1 に答える 1

0

MOCを保存しようとする代わりに、

[self.managedObjectContext processPendingChanges];

作業中のアプリで同じ問題が発生しましたが、変更を加えただけでは参照できません。MOCを保存してみましたが、同じメッセージが表示され続けます。processPendingChangesを呼び出すことは私のために働きました。

于 2013-02-07T21:36:37.683 に答える