0

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

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

4

1 回答 1

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];
于 2013-08-08T19:08:41.283 回答