天天看點

ios協定和委托

在iPhone開發協定和委托是常接觸到的東西,到底什麼是協定什麼是委托,他們什麼關系?

一 協定

(1)協定相當于沒有與類相關聯的接口,他申明一組方法,列出他的參數和傳回值,共享給其他類使用,然後不進行實作,讓用它的類來實作這些方法

(2)在任何一個類中,隻有聲明了協定,都可以實作協定裡的方法。

(3)協定不是一個類,更沒有父類了。

(3)協定裡面的方法經常都是一些委托方法,

二 委托

委托,故名思議就是托别人辦事。打個比方:

張三迫切需要一分工作,但是不知道去哪找。于是他就拜托(委托)李四給幫找一份合适工作,但是托人辦事得給被人好處啊,于是張三給李四塞了一個紅包(協定),于是李四通過自己關系在某公司找了一份文秘的工作(實作協定裡面委托方法),于然後他把文秘這份工作給了張三,張三就找到工作了;

三 我們來看一個比較常用的表格單元實作委托和協定

UITableViewDataSource協定和他的委托方法

這是一個完整協定定義

@protocol  協定名

聲明方法

@end

但是我們還看到兩個特殊關鍵字 @required  和 @optional

@required 表示我們用到這個協定的時候必須實作這個協定的方法

@optional 表示我們可選擇性實作這些方法,看那個需要我們就去實作,不需要的就不實作

UITableViewDelegate協定和委托方法

在用的時候,我們現在聲明協定

實作UITableViewDataSource  UITableViewDelegate協定裡面的委托方法

這就就是實作一些裡面的委托方法過程運作改程式運作結果

     本文轉自新風作浪 51CTO部落格,原文連結:http://blog.51cto.com/duxinfeng/1208715,如需轉載請自行聯系原作者

繼續閱讀