ios 通知和代理的區別

來源:互聯網
上載者:User

標籤:

區別一:delegate針對one-to-one關係,並且reciever可以傳回值給sender;notification 可以針對one-to-one/many/none,reciever無法傳回值給sender;所以,delegate用於sender希望接受到reciever的某個功能反饋值,notification用於通知多個object某個事件。
  區別二:
  Delegate:訊息的寄件者(sender)告知接收者(receiver)某個事件將要發生,delegate同意然後寄件者響應事件,delegate機制使得接收者可以改變寄件者的行為。通常寄件者和接收者的關係是直接的一對多的關係。
  Notification:
訊息的寄件者告知接收者事件已經發生或者將要發送,僅此而已,接收者並不能反過來影響寄件者的行為。通常寄件者和接收者的關係是間接的多對多關係。
  區別三:效率肯定是delegate比nsnotification高。
區別四:delegate方法比notification更加直接,最典型的特徵是,delegate方法往往需要關注傳回值,也就是delegate方法的結果。
  delegate用於聲明委託。Notification用於通告。委託是一種參考型別,參考型別的 Shared 方法或對象的執行個體方法。任何具有匹配參數類型和傳回型別的過程均可用來建立此委託類的執行個體。然後就可以通過委託執行個體來調用過程。

ios 通知和代理的區別

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.