0
我希望能夠支持複製和粘貼顯示核心數據實體的tableview行。這個實體有一個屬性和兩個關係。當我使用Apple推薦的字典存檔技術(來自'NSPersistentDocument核心數據教程')時,我發現這些關係會引發錯誤。這裏就是發生問題的代碼的關鍵一環:存檔具有關係的核心數據實體
for (id sectionObject in selectedSectionsArray){
NSDictionary *thisDictionary = [sectionObject dictionaryRepresentation]; // 'sectionObject' has 1 attribute and 2 relationships (one-to-many)
[copyObjectsArray addObject:[sectionObject dictionaryRepresentation]];
}
NSPasteboard *generalPasteboard = [NSPasteboard generalPasteboard];
[generalPasteboard declareTypes:[NSArray arrayWithObjects:MSSectionsPBoardType, NSStringPboardType, nil] owner:self];
NSData *copyData = [NSKeyedArchiver archivedDataWithRootObject:copyObjectsArray]; // Here's where it crashes. ERROR MESSAGE: "-[NSManagedObject encodeWithCoder:] unrecognized selector sent to instance 0x22fd410"
因此,似乎有關係複製到剪貼板必須存檔其URI的唯一途徑。在那種情況下,我必須處理引用臨時ID的頭痛問題。有人可以確認這是事實嗎?它是否必須如此努力?
您能提供「NSPersistentDocument核心數據教程」的鏈接嗎?我發現只有標題頁上顯示「不推薦」的Mac OS X 10.4版本。 – 2013-03-23 09:09:41