監聽事件的五種方式

監聽事件的五種方式:swift

一、代理spa


二、block代理


三、通知code


四、kvo鍵值觀察繼承


五、最多見也最容易忽略的 addTarget,如圖事件


小結

  • 使用代理傳遞消息是爲了在控制器和視圖之間解藕,讓視圖可以被多個控制器複用,例如 UITableViewget

  • 可是,若是視圖僅僅只是爲了封裝代碼,而從控制器中剝離出來的,而且可以確認該視圖不會被其餘控制器引用,則能夠直接經過 addTarget 的方式爲該視圖中的按鈕添加監聽方法循環

  • 這樣作的代價是耦合度高,控制器和視圖綁定在一塊兒,可是會省略部分冗餘代碼引用

代理的使用

  • swift 中代理的使用基本與 OC 相同方法

  • 須要注意的是,定義協議時,須要繼承自 NSObjectProtocol

  • 代理屬性須要使用 weak 防止出現循環引用

相關文章
相關標籤/搜索