2
如果我從一個實體中刪除一個CoreData記錄,這是否也刪除記錄與另一個實體中的另一個記錄之間的關係?核心數據關係,刪除
如果我從一個實體中刪除一個CoreData記錄,這是否也刪除記錄與另一個實體中的另一個記錄之間的關係?核心數據關係,刪除
這取決於您爲關係啓用的刪除規則。這些Core Data Programming Guide文件(下面摘錄)。看看檢查員,看看你爲你的關係設置了哪個選項。如果你有一個特定的數據模型,你想要評論你應該編輯你的問題更具體。
拒絕
如果存在所述至少一個對象的關係的目的地,則源對象不能被刪除。例如,如果您要刪除某個部門,則必須確保該部門中的所有員工首先被轉移到其他地方(或被解僱!),否則該部門將無法刪除。
Nullify
將目標處的對象的反比關係設置爲null。例如,如果您刪除某個部門,請將所有當前成員的部門設置爲空。這隻有在員工的部門關係是可選的,或者確保在下一次保存操作之前爲每個員工設置新部門時纔有意義。
級聯
刪除關係目的地的對象。 例如,如果您刪除某個部門,則同時啓動該部門中的所有員工。
無動作
對關係目的地的對象不做任何事情。例如,如果您刪除了一個部門,即使他們仍然認爲他們屬於該部門,也會將所有員工保持原樣。
並務必始終使用反向關係。我們在代碼中生成了一個沒有這些代碼的數據模型,並且即使我們使用了nullify,也會出現問題。 – huesforalice
好點 - 在數據模型編輯器中爲您呈現反向關係時很容易,但如果您直接在代碼中工作,可能會很容易被遺忘。 –