iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 19
0

首先必須說:

很多人會把這兩個東西搞混,保括我在剛學 iOS 開發的時候都常常誤解這兩個之間的差異。

  • Delegate 是一種設計模式
  • Protocol 就如同 java 的 interface 一樣,是 Swift 語言的一部分

我們常常會把兩者和在一起使用,讓他們彼此能發揮最大的效益,比如說利用 Delegate 和 Protocol 讓兩個不同的 ViewController 可以傳遞訊息 (訊息可以暫時想成 value 就好

這個時候該如何去使用,我主要會分成三個大方向

(1). 宣告一個 Protocol 並定義裡面的方法,並宣告一個屬性,型別遵循該 Protocol 。

(2). 利用 vc.delegate 執行該方法,且需要讓 VC 的 delegate 彼此認識認識

(3). 遵守該 Protocol 並實現該方法

實務上如果要傳遞的屬性不多,可以使用 closure 取代,甚至可以使用 Reference 直接取值就好~


上一篇
View Controller Lifecycle
下一篇
iOS Unit
系列文
iOS 開發:燃燒吧! 從初心者到超級初心者的轉職之旅30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言