Sự khác biệt giữa việc sử dụng delegate và notification là gì?

{{FormatNumbertoThousand(model.total_like)}} lượt thích
32 lượt xem
Objective-C senior

Cả hai đều được sử dụng để gửi giá trị và tin nhắn đến các bên liên quan.

  • Delegate được sử dụng để giao tiếp một-một và là một mô hình được Apple khuyến nghị. Trong delegation, lớp phát sinh sự kiện sẽ có một thuộc tính cho delegate và thường mong đợi delegate triển khai một số protocol. Lớp gửi delegate sau đó có thể gọi các phương thức giao thức của delegate.
  • Notification cho phép một lớp phát sóng sự kiện trên toàn ứng dụng đến bất kỳ bên quan tâm nào. Lớp phát sóng không cần biết gì về những người nghe cho sự kiện này, do đó notification rất hữu ích trong việc tách rời các thành phần trong một ứng dụng.
[NSNotificationCenter defaultCenter]
      postNotificationName:@"TestNotification"
      object:self];
{{login.error}}