一篇文章 学会 iOS中的 代理(delegate) 设计模式
生活随笔
收集整理的這篇文章主要介紹了
一篇文章 学会 iOS中的 代理(delegate) 设计模式
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
代理設計模式,真是挺耐人尋味的,感覺很讓人捉摸不透又感覺很有趣的東西!因為原本捉摸不透的代碼,方法,披上代理的外衣后,就很有道理,很有意思了!
各種設計模式,讓本來很死板的代碼變得靈活多變,各種功能可以在大大簡化代碼的情況下實現。大大方便了編程工作。
來一個簡單的代理實現案例:
這個代理運用的地方是在一個UI界面中(類似新浪手機客戶端的界面),點擊自定義tabBar中自定按鈕,以達到切換窗口控制器的目的。
1.首先要是要明確誰要做誰的代理,對象A如果是對象B的代理,誰是對象A,誰是對象B。
這里,我們是讓控制器作為自定義tabBar的代理。
代理中,需要記住的關鍵是在發出代理請求的類(A)中聲明代理人(B)的實例變量,這樣就可以保證A 能通過調用B中B代理的方法來完成B代理的事情,即自己代理給B 的事情。
廢話不多說,直接上代碼:
????? //這里tabBar發出代理請求,并且聲明代理的實例變量(delegate)。
????? //通知代理,按鈕被點擊,如果代理(控制器)實現了代理方法,tabBar就可以調用代理(控制器)中的代理方法來完成控制器代理的事情,即tabBar代理給控制器的事情。
代理模式的關鍵點:
A完成一件事,但是自己不能完成,于是他找個代理人B 替他完成這個事情,他們之間便有個協議(protocol),B繼承該協議來完成A代理給他的事情。 控制器繼承了代理協議,實現代理方法。轉載于:https://www.cnblogs.com/pugon/p/3730462.html
總結
以上是生活随笔為你收集整理的一篇文章 学会 iOS中的 代理(delegate) 设计模式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 新旧资源库访问地址
- 下一篇: 转:jQ函数after、append、a