我想打開NSPersistentDocuments並將它們一次加載到同一個窗口中。我幾乎在那裏,但缺少一些步驟。希望有人能幫助我。如何將PersistentDocuments加載到同一個窗口中
我有一些保存在硬盤上的文件。啓動時,我的應用程序打開一個無標題的NSPersistentDocument並創建一個單獨的NSWindowController。當我按下按鈕,加載文件1關閉數據出現在字段,但兩件事情是錯的,我可以看到硬盤驅動器:
1)改變數據不會使文件髒
2)選擇保存更新persistentstore(我知道這是因爲當我再次打開文件時,我看到了更改),但我得到一個錯誤:+ entityForName:找不到實體名稱'Book'的NSManagedObjectModel
這是我的代碼最初用無標題文檔啓動的WindowController。此代碼並不完美。例如,我知道我應該在加載新文件之前處理「更改」並保存當前文檔。這是測試代碼,試圖克服這個障礙。
- (IBAction)newBookTwo:(id)sender {
NSDocumentController *dc = [NSDocumentController sharedDocumentController];
NSURL *url = [NSURL fileURLWithPath:[@"~/Desktop/File 2.binary" stringByExpandingTildeInPath]];
NSError *error;
MainWindowDocument *thisDoc = [dc openDocumentWithContentsOfURL:url display:NO error:&error];
[self setDocument:thisDoc];
[self setManagedObjectContext:[thisDoc managedObjectContext]];
}
謝謝!
保存文檔後出現錯誤。我知道這一點,因爲當我記錄時,變化就在那裏。 – 2010-04-30 21:29:42
實際上,它可能會在文檔被保存時出現。核心數據偏向於保存數據。即使遇到錯誤,它也會保存所有內容。在任何情況下,第二個錯誤肯定是在實體圖或者一些調用實體圖的代碼中。 – TechZen 2010-05-01 18:16:17