码迷,mamicode.com
首页 > 移动开发 > 详细

iOS coredata 级联删除

时间:2015-06-03 13:16:07      阅读:148      评论:0      收藏:0      [点我收藏+]

标签:

应用场景如下,每个用户可以设定多个提醒,当删除一个用户时,应当把相关的提醒都删除,而删除一个提醒时,应当把提醒从用户信息中删除。

那么 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属性怎么处理。

iOS coredata 级联删除

标签:

原文地址:http://www.cnblogs.com/breezemist/p/4548666.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!