iOS coredata 级联删除
应用场景如下,每个用户可以设定多个提醒,当删除一个用户时,应当把相关的提醒都删除,而删除一个提醒时,应当把提醒从用户信息中删除。
那么 Profile 应该建立一个如下图的relationship
而 reminder 应该建立如下图的relationship
当向一个profile添加reminder时,要设定好2个对象的relationship,见如下例子代码:
if(profile != nil){ reminder.profileId = CURRENT_PROFILE.pId; reminder.contents = @[@"first contents"]; reminder.type = [NSNumber numberWithInt:self.type]; reminder.repeatType = [NSNumber numberWithInt:eRepeatTypeWeekly]; reminder.profile = profile; NSMutableSet *reminderSet = [[NSMutableSet alloc] initWithSet:profile.reminder]; [reminderSet addObject:reminder]; profile.reminder = reminderSet; }
经过以上的过程,当你从数据库删掉一个profile时,与之相关的reminder都会被自动删除。
这里需要注意的就是设置一个对象的relationship 的delete rule时,指的是删除本对象时,要对这个relationship属性怎么处理。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。