我在OS X中有一個基於文檔的Cocoa應用程序,核心數據支持NSArrayController
綁定到NSTableView
和「添加」和「刪除」按鈕的列。核心數據NSArrayController不保存或撤消編程元素
這一切都很好,使用這些綁定添加和修改的對象被添加到撤消堆棧並按預期保存到文件。
但是,當我以編程方式編輯時,它會反映在表格中(因此它看起來像是NSManagedObjectContext
),但沒有添加到撤消堆棧或保存到文件。
我錯過了什麼?一些設置在我的NSArrayController
?或者在.addObject()
之後撥打其他電話?
我聽說過「處理內容作爲複合值」與類似問題有關,但這似乎是使用Content Array綁定時的情況,而我並非如此。
我在我的'NSArrayController'上調用'.addObject(instanceOfNSManagedObject)'。 'add()'按預期工作,但是當然會創建一個默認的初始化對象。 – Andy
啊,它可以使用'.add()'或'.insertNewObjectForEntityForName(...)',然後設置對象參數,謝謝。雖然我仍然認爲如果'.addObject(...)'失敗,我必須設置錯誤。 – Andy
數組上的addObject()將失敗。你要添加什麼對象?你用alloc/init創建的NSManagedObject?核心數據不同。你必須告訴MOC創建該對象。我相信你的設置是正確的,但你的插入代碼是錯誤的。我們可以看到嗎? –