【发布时间】:2015-06-07 18:13:25
【问题描述】:
我有一个名为Activity(一个)和Game(多个)的实体。我将删除规则设置为级联,用于Activity 实体上的“游戏”关系,并为游戏实体上的“活动”关系设置 Nullify(稍后会详细介绍)。
如果我删除一个Activity 对象,那么所有Game 对象也会从核心数据中删除。因此,这种关系的级联规则似乎运行良好。
现在,如果我使用提供的任一方法删除多个“游戏”对象中的一个或全部:removeGameObject: 和 removeGame:,则 Activity 对象将不再链接到任何 Game 对象.所以这似乎奏效了。但是在对“游戏”实体进行独立查询时,那些应该被删除的游戏对象仍然在核心数据中。它们不仅仅是链接到任何Activity 对象。
***我也尝试过No Action,Cascade删除规则。
我可以手动移除游戏对象。但必须有正确的方法来做到这一点。
任何指针?
@class Game;
@interface Activity : NSManagedObject
@property (nonatomic, retain) NSNumber * activityID;
@property (nonatomic, retain) NSString * activityType;
@property (nonatomic, retain) NSSet *game;
@end
@interface Activity (CoreDataGeneratedAccessors)
- (void)addGameObject:(Game *)value;
- (void)removeGameObject:(Game *)value;
- (void)addGame:(NSSet *)values;
- (void)removeGame:(NSSet *)values;
@end
@class Activity;
@interface Game : NSManagedObject
@property (nonatomic, retain) NSString * name;
@property (nonatomic, retain) Activity *activity;
@end
【问题讨论】: