iOS:在这种情况下我应该使用委托还是NSNotification?

时间:2017-12-01 17:41:14

标签: ios objective-c delegates nsnotificationcenter

我有一个不断更新新数据的数据库。我将此数据用作UITableView的数据源。目前,我正在使用NSNotifications提醒我UITableView插入,删除或更新新数据。但是,我一直认为使用delegates要好得多,因为它是一对一的。

以下是一些代码,可以更好地演示正在发生的事情。

- (void)insertObject:(NSNotification *)notification {
    NSNumber *object = [notification object];

    [self.tableView beginUpdates];
    [self.data insertObject:object atIndex:0];
    [self.tableView insertRowsAtIndexes:[NSIndexSet indexSetWithIndex:0] withAnimation:NSTableViewAnimationEffectNone];
    [self.tableView endUpdates];
 }

1 个答案:

答案 0 :(得分:0)

在更大的范围内,数据库更新通常是项目的许多部分可能感兴趣的事件。这就是Core Data本身使用通知而不是委托方法的原因。是的,你可以采取任何一种方式,但我倾向于遵循苹果公司在这种模式上的领先优势。 (马迪对你的帖子的评论确实有很好的解释)