2012-11-28 83 views
0

我有救了我的PersistentDocument MOC問題。在基於文檔的應用程序中保存ManagedObjectContext?

我在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在這一點上,因爲我需要它的不是暫時的objectID爲我的後臺線程做對實體進行一些計算。

但是當我保存MOC這樣,我得到一個請求者

文件「Untitled.binary」無法保存。該文件已被另一個應用程序更改。

單擊保存不管怎麼說,讓您的更改並保存在其他應用程序的版本所做的更改,或單擊還原爲保持從其他應用程序的修改並保存更改爲一個版本。

下一次

文檔試圖挽救它的內容。我無法保存文件,而不是,因爲它是可能的,它仍然是一個未命名的文檔和調用[保存文檔]將打開保存請求其北京時間不會對於用戶來說非常舒服。

有沒有解決方法?

感謝

克勞斯

+0

是否有可能你有你的程序運行的兩個副本?你如何建立持久性商店? – paulmelnikow

+0

不,這是一個基於標準文檔的應用程序模板。你可以重現這個非常簡單。只需創建一個新的基於Xcode項目文件的應用程序,並以編程方式插入MO,然後保存MOC。現在你不能保存菜單中的文檔而沒有得到這個錯誤 –

回答

0

而不是試圖以節省您的MOC,嘗試

[self.managedObjectContext processPendingChanges]; 

我有同樣的問題上的應用程序,我的工作在哪裏修改只是做不會有參考。我試圖保存MOC並不斷收到相同的信息。調用processPendingChanges爲我工作。

相關問題