我舉例如下圖所示: 如何解釋XCode中的核心數據中的刪除規則?
我應該如何理解?
當我刪除PBORole
時發生了什麼PBOLocation
? 或
PBORole
什麼時候刪除PBOLocation
? 或
PBORole
當我刪除它們之間的關係時發生了什麼? 或
PBOLocation
當我刪除它們之間的關係時發生了什麼?
我舉例如下圖所示: 如何解釋XCode中的核心數據中的刪除規則?
我應該如何理解?
當我刪除PBORole
時發生了什麼PBOLocation
? 或
PBORole
什麼時候刪除PBOLocation
? 或
PBORole
當我刪除它們之間的關係時發生了什麼? 或
PBOLocation
當我刪除它們之間的關係時發生了什麼?
您在圖像中的刪除規則是Nullify
。因此,「沒有」會發生。
當您刪除Role
時,location.roles
會減1。
當您刪除Location
時,role.location
將爲nil
。
當您通過設置role.location = nil
刪除關係時,location.roles
將減少1。
當您從location.roles
減少role
時,role.location
將爲nil
。
但是如果你選擇Cascade
爲刪除規則,它變得更加有趣:如上所述
當您從任一方向的關係,同樣的情況。 如果在Location
上設置roles
關係的Cascade
規則,則刪除Location
將刪除roles
中的所有Role
對象。
如果設置爲location
的Cascade
規則Role
,刪除Role
會刪除其location
(如果反向關係規則Cascade
如上面的規則,所有其他roles
將被刪除以及)。
在覈心數據編程指南Relationship Delete Rules下閱讀全部內容。