2012-08-28 17 views

回答

2

不,他們不是一回事,但他們使用委託模式。

他們都是不同的和不同的代表,服務於不同的目的。一個屬性用於UITableViewDataSource,另一個屬性用於UITableViewDelegate。

下面是他們UITableView.h定義:

@property(nonatomic, assign) id<UITableViewDataSource> dataSource 
@property(nonatomic, assign) id<UITableViewDelegate> delegate 

的委託模式是非常簡單和Wikipedia進入概括起來相當不錯:

在軟件工程中,代表團模式是 中的一種設計模式,其中一個對象不是執行其所述任務的一個 ,而是將該任務委託給關聯的幫助對象 。有一個責任倒置,其中助理 對象(稱爲委託人)有責任爲委託人執行 任務。委託模式是構成其他軟件模式(如組合(也稱爲聚合),mixin和 )的基礎抽象模式之一。

+0

似乎書或參考文獻「不敢」將dataSource稱爲「委託」,所以我想知道爲什麼 –