我是OS X編程新手,但一般都喜歡它。我有以下問題:優雅地將對象添加到arraycontroller,它本身鏈接到另一個arraycontroller?
我有兩個核心數據實體鏈接通過一對多與他們各自的陣列控制器(股票控制器和價格歷史控制器,其中後者控制器綁定到庫存控制器,與控制器密鑰=選擇和模型關鍵路徑= priceHistory,這是將股票實體鏈接到價格歷史記錄控制器控制的PriceDataPoint實體的關係
這一切在我的用戶界面中像魔術一樣工作,我可以選擇股票並添加/刪除價格點,當它被選中時,但是,我需要能夠以編程的方式進行此操作。
如果我只是簡單地調用
[stockController add:self]
,那麼用更新的對象具有正確的默認值的新對象,鏈接到選定的庫存 - 即使「自我」不是正確的類/實體。這對我來說是一個混亂,我不明白(我明白Stock Controller通過KVO綁定知道所選股票,並可能根據需要設置關係,但我不明白它是如何投射的'self',這是一個相當隨機的類到所需的對象類型(一個普通的NSManagedObject
)?其次,如果我這樣做,我該如何獲得一個引用回該對象,所以我可以編輯其值?但是,更重要的是,如果我遵循Apple示例,請創建一個新的
NSManagedObject
到NSEntityDescription:insertNewObjectForEntity:
並使用[stockController addObject:Newly created Object]
我可以在添加它之前寫入想要的值,但與「父」股關係不是由addObjects:
方法設置的。我相信我也可以弄清楚如何寫這個,但是可可的其他所有東西都可以如此優雅,這讓人感覺很奇怪,所以我希望有人能夠很快地清楚這一點,並指出我這樣做的一種優雅方式。
感謝您的迴應 - 我在此期間去了-addObject:route,但不必調用-fetch,這可能是因爲我在IB中設置了自動更新。 關於你的第一點 - 謝謝。沒有這樣想過。 – NSSunrider 2010-06-26 19:58:13