2017-12-01 9 views
0

私は常に新しいデータで更新するデータベースを持っています。このデータを私のUITableViewのデータソースとして使用します。現在、NSNotificationsを使用して、UITableViewに新しいデータの挿入、削除、または更新を通知しています。しかし、私はdelegatesを1対1で使用する方がずっと良いと思っていました。iOS:この場合、代理人またはNSNotificationを使用する必要がありますか?

ここでは、何が起こっているかをよりよく示すためのコードです。より大きな範囲で

- (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

https://stackoverflow.com/questions/21771606/objective-c-delegate-or-c-style-block-callbackを参照してください – rmaddy

答えて

0

、データベースの更新は、通常、プロジェクトの多くの部分が、に興味がある可能性があることイベントです。コアデータそのものではなく、デリゲートのアプローチよりも、通知を使用する理由です。はい、あなたはどちらにでも行くことができますが、私はこのパターンでAppleのリードに従う傾向があります。 (あなたの投稿への狂気のコメントは素晴らしい解説を持っています)

関連する問題