回答
如果car.mySet
是你的設置,你可以嘗試,因爲,
NSMutableSet *mutableSet = [car.mySet mutableCopy];
[mutableSet removeObject:carpartsObject];
car.mySet = [mutableSet copy];
我假設Car
是NSManagedObject
一個子類,因爲你有核心數據的標籤。
核心數據符合KVO。
Reference here
動態生成的存取方法
默認情況下,核心數據動態創建高效的公共和原始的獲取和管理對象類的模型屬性(屬性和關係)設置訪問方法。這包括鍵值編碼可變代理方法,如add<Key>Object:
,並刪除:,如在mutableSetValueForKey的文檔中詳細描述的: - 管理對象對於其所有多對多關係都是有效的可變代理。
其他Reference here有關志願
命名約定爲了一個mutable unordered to-many relationship
您必須實現以下方法鍵 - 值編碼投訴:
-add<Key>Object: or -add<Key>:
。至少必須實施其中一種方法。這些類似於NSMutableSet方法addObject :.
-remove<Key>Object: or -remove<Key>:
。至少必須實施其中一種方法。這些類似於NSMutableSet方法removeObject :.
-intersect<Key>:
。可選的。如果基準測試表明績效是一個問題,則實施。它執行NSSet方法intersectSet:的等效操作。
這是更好的響應,然後,在一行中: [car removeCarpartsObject:carpartsObject]; – Esteve
如果你想確保一對多對象也從對象存儲刪除(默認動作是廢掉父實體),可以覆蓋的Car
自動生成的方法之一:
- (void)removeCarpartsObject:(Carpart *)value
{
NSMutableSet *set = [self mutableOrderedSetValueForKey:NSStringFromSelector(@selector(carparts))];
[set removeObject:value];
[self.managedObjectContext deleteObject:value];
}
從核心數據刪除NSSet中的對象的另一種替代方法是使用下面。我自己嘗試了這種方法,它也適用。
- (void)removeCarpartsObject:(Carpart *)value
{
NSError *error;
NSInteger index = [car.mySet.allObjects indexOfObject:carpartsObject];
[self.managedObjectContext deleteObject:car.mySet.allObjects[index]];
[self.managedObjectContext save:&error];
}
- 1. 檢查並刪除NSSet中的對象
- 2. 是否可以從上下文中刪除託管對象,而不是從對多關係中刪除它NSSet
- 3. NSSet問題(刪除對象和迭代)
- 4. Django從ManyToMany關係中刪除對象
- 5. 刪除關係中的孤立對象
- 6. 貓鼬Express.js刪除對象與關係
- 7. 如何在Django Rest Framework中從ManyToMany關係中刪除對象
- 8. 在Play中刪除@OneToMany關係中的JPA對象!框架
- 9. NSManagedObject - NSSet被刪除?
- 10. 在EF中刪除多對多關係中的選定關係?
- 11. 核心數據刪除實體對象時也刪除所有關係對象
- 12. 如何在刪除關聯對象後同步刷新關係?
- 13. 如何刪除多對多而不刪除關係中的所有對象?
- 14. 在覈心數據中刪除與級聯的關係對象
- 15. 在ManyToMany關係中刪除對象後保留數據
- 16. 如何在雙向關係中刪除一側的對象?
- 17. 爲什麼如果相關對象從數據庫中刪除,Redis會刪除對象中的關係?
- 18. 如何刪除django關係中的對象(保留所有相關對象)?
- 19. SQLAlchemy刪除關聯對象
- 20. 獲取實體關係NSSet
- 21. Django的 - 刪除對象,而不刪除其相關對象
- 22. 休眠刪除對象而不刪除相關對象
- 23. 刪除關係?
- 24. 從活動記錄關係中刪除對象而不刪除它
- 25. Swift 3核心數據關係不會刪除相關對象
- 26. 使用級聯刪除核心數據中的對象關係
- 27. 從數據庫中刪除對象時,它有依賴關係
- 28. 使用級聯刪除領域中的對象關係
- 29. 從具有休眠ManyToMany關係的集合中刪除對象
- 30. 如何刪除Parse中對象的關係?
完美!工作,謝謝! –
很高興幫助。謝謝。 :) – iDev