我有一個核心數據生成的類'item'。它具有「類型」的屬性,這是另一類。刪除之後瞭解核心數據並保存NSManagedObjectContext
我定製了'setType',以便進行其他一些處理 - 例如我更新'dateTypeLastSet'。到目前爲止,這工作得很好。
但是,由於某些原因,當我刪除該項目時也會發生這種附加處理。具體來說,直到我在NSManagedObjectContext上調用'save'時纔會發生。
這是因爲刪除會導致自動調用'setType:nil'?記錄參數顯示NULL是嘗試分配。
這對我來說會有問題,因爲在我的附加處理代碼中,我執行了一些計算。假設我在那裏存儲了一些「設置了一個項目類型的次數」的計數器。我不希望刪除和設置爲零。但我也不能只檢查零,因爲這可能是一個合法的更新(無可能是可接受的類型)。
任何解釋或建議表示讚賞。
UPDATE
事實證明,當類型被刪除,它確實設置屬性爲nil - 我注意到,數據實體的刪除規則是默認抵消。如果改成不採取行動,我沒有這個問題。
所以現在的問題變成了 - 將刪除規則從無效更改爲其他影響?爲什麼這被視爲明智的默認?
然後我只是不明白如何有可能在我的setType方法有自定義代碼,因爲它總是會在我刪除項目時被調用。 – 2012-04-13 15:00:49
我想這取決於nil作爲顯式設置和nil作爲系統需要使用的值之間的差異。你可以定義一個空類型的'type'對象,並將它用於顯式的setType:? ...使用NSNull的方式? – 2012-04-13 15:07:57
我可以。我猜我只是覺得很癢。 – 2012-04-13 15:26:16