从另一个视图中删除核心Data对象

时间:2013-08-08 18:54:55

标签: ios uitableview core-data

我想从另一个带有if条件的视图中删除coreData对象。

因此,在viewControllerA中,实体购买与属性 cellName 一起使用。 viewControllerB包含一个tableView和coreData实体 List 。当用户删除viewControllerB中的单元格时,还应删除viewControllerA的对象,该对象具有 cellName(viewControllerA)=已删除单元格的名称(viewControllerB)。 也许有人可以帮助我...

1 个答案:

答案 0 :(得分:1)

可能有一些选项,包括自定义委托,但可以通过通知

启动

在viewControllerA中,您将在viewWillAppear或viewDidLoad中注册通知:

    [[NSNotificationCenter defaultCenter] addObserver:self
    selector:@selector(shouldUpdateDisplay:) 
    name:@"SHOULD_UPDATE_DISPLAY"
    object:nil];

注意:在你的dealloc方法中,你应该从观察者身上移除自己:

[[NSNotificationCenter defaultCenter] removeObserver:self];

然后实施方法:

- (void) shouldUpdateDisplay:(NSNotification *) notification
{
     [_table reloadData]; // do your updates 
}

在VCB中,当元素被删除而另一个视图控制器应该知道它时,你会发送该通知:

[[NSNotificationCenter defaultCenter] 
    postNotificationName:@"SHOULD_UPDATE_DISPLAY" 
    object:self];