1. 程式人生 > >iOS中的屬性傳值和委託模式

iOS中的屬性傳值和委託模式

    iOS中常用的傳值模式有很多中,然而我們在學習階段用的比較多的傳值方式,就是屬性傳值以及委託協議傳值,或者通知方式的傳值模式,但是,我這裡主要根據自己在學習過程中學習理解到的兩種常用傳值模式。

   一是,屬性傳值模式,我簡單的根據自己在使用的過程中,理解到的形象思維,畫出瞭如上圖一個簡單的形象思維圖,根據我的理解,屬性傳值就是將位於外面檢視的屬性得到的值,往裡面視圖裡丟,就如同丟垃圾一樣,垃圾桶裡沒有東西,而我們把外界的東西往垃圾桶裡面丟,那麼垃圾桶相應的就具有了我們賦給的東西了,所以,我在對此屬性傳值的方式使用中得到的一個具體形象的體驗就是如此。

  二是,委託協議傳值模式,我個人在使用過程中,對於這個的理解就如上圖第一個小檢視所表現出來的。委託協議傳值模式,是把視圖裡面的值往外面拋或者說成是往外面扔。

委託模式傳值的大致操作如下

1、在當前要傳值的視圖裡面的標頭檔案前,使用@protocol宣告一個委託協議。然後再委託協議中宣告方法。

2、在當前標頭檔案中,使用屬性宣告一個id型別的delegate屬性。

3、在當前的檔案的實現檔案中,呼叫該協議方法實現傳值。

4、在需要傳入值的頁面的實現檔案中,實現委託協議,即<*****delegate>協議。

5、在需要傳入值的頁面的實現檔案中,實現委託協議的方法,得到傳遞過來的數值即可。

以上即是個人根據近段時間的學習及操作中,自己根據自己的形象思維得到的一點理解和體會。我個人深知自己的淺顯,所以,如有理解偏差及錯誤,還望各位優秀者多加指點,個人分享也只是將此作為一種方式,讓更多的技術學習者,能夠有個形象的理解吧!

  對於,學習上的問題,就是希望多加分享,多加交流,多加借鑑,才會有更深層次的理解,也有利於自身技術的增長,也可以在無形之中給予他人幫助吧!