恢復內容開始 在不同類之間傳遞數據,我所學到的有三種,1.代理,2.block,3.通知。在這裡,我們先來講一下代理的使用,後面我會繼續講到block和通知。代理通常和協議是一起使用的,協議通常寫在代理類裡面,被代理的類要服從協議。 根據我的理解,在這種情況下:一個類裡面的數據需要在另一個類裡面實現 ...
---恢復內容開始---
在不同類之間傳遞數據,我所學到的有三種,1.代理,2.block,3.通知。在這裡,我們先來講一下代理的使用,後面我會繼續講到block和通知。代理通常和協議是一起使用的,協議通常寫在代理類裡面,被代理的類要服從協議。
根據我的理解,在這種情況下:一個類裡面的數據需要在另一個類裡面實現改變,具體一點:在一個手機程式裡面,一個界面的數據在另外一個界面中實現改變,然後再回調給這個界面,使這個界面的數據也發生改變。
首先,來瞭解一下協議的使用,首先創建一個command Line Tool工程,創建完成後是這樣的:
在協議這個類中我們只需要申明方法,不用實現,方法的實現應該在服從這個協議的類裡面,協議裡面的方法的種類分兩種,即required和optional,用required修飾的方法在服從這個協議的類裡面必須實現,而用optional修飾的方法可以不實現,現在我們來創建一個專門定義協議的類名為Test,
在這個類裡面定義一套協議,如下:
自己定義的協議也要服從上一級協議NSObject協議,在協議裡面我定義了一個方法,而且是要求被實現的,接下來我們創建另外一個類名為Person。
在這個類的頭文件裡面服從我們上面定義的協議,我們要使用這個協議就必須在Person類的頭文件裡面導入Test.h,
同時,我們在Person.h裡面定義一個屬性變數名為name,然後在Person.m裡面實現我們在協議裡面定義的doSomething方法
在main函數裡面實現如下代碼並運行,
這樣我們就完成了整個協議。
接下來,我們來看一下代理的實現方法,在這裡,我們先不使用協議,
舉個例子,一個為
---恢復內容結束---