我試圖在NSTableView
之間選擇一個行來保存應用運行。跨運行恢復核心數據主 - 細節選擇
我有一個NSTableView
作爲主視圖,和NSCollectionView
爲詳細視圖。我的示例項目位於:
http://www.filesend.net/download.php?f=3f34594d71e32b2c1fbef768eccb56b0
這兩個視圖與可可綁定相關的NSArrayControllers
正確綁定。這些依次綁定到主實體,細節實體和CoreData存儲中的一對多關係「myChildren」。 「myDetailAC」內容集綁定到CD關係。在我的App Delegate中,我在applicationDidFinishLaunching
回調中創建了一些示例數據。
這一切運行良好,一旦應用程序啓動並運行...選擇表的行導致詳細NSCollectionView
顯示主項目的詳細信息。實際上,我已經構建了一個使用Core Data和Cocoa綁定的Master-Detail設置的良好開端示例。
問題是這樣的:當我退出應用程序並重新啓動它時,我想用最近的主選擇(並自動選擇合適的詳細數據集)選擇TableView行。
我的CD Master主體中的一個屬性是isSelected
,它基於最後一次選擇NSTableView
的哪一行來設置。
我試圖重寫「MasterAC.m」 NSArrayController
的主表,在這裏,我試圖調用setSelectionIndexes
從內它的基礎上的isSelected
標誌,以改變陣列控制器的選擇。我從內這樣做陣列控制器的arrangeObjects
方法。
沒有骰子。
任何人都可以幫忙與整個示例應用程序的運行持續表格選擇?
總之,如果我退出與「家長#3」選擇的應用程序,然後再次運行應用程序將導致選擇「家長#3」及其詳細信息。
SO上的一些其他建議使用NSUserDefaults處理此問題,但不處理Core Data。
Restoring the selection in an NSTableView (NSWindowRestoration)