網頁

2013年2月21日 星期四

Datasource and Delegate 的分別 (2) 一些細節


[iphone app 開發]

上篇文章最後提到....

每一個控制器(picker view 之類的人),都會有自己各別的 datasource 和 delegate....

所以 picker view 有 UIPickerDatasource ,且

1. 控制項 Picker view 不管datasource 如何取得picker view 所需要的資訊, 這邊是需要
顯示的資料欄數。 Datasource 可能用 陣列,資料庫,plist 等等儲存資料,但是對於
picker 來說不重要,它也不想管,只要 datasource 能回給 picker view 想要的資訊即可,不管
datasource 內部是如何儲存資料。





2.
所以當 控制項得到了datasource 所回回來的資料時,它就準備好等者user 來用,
不過控制項本身(picker view) 不知道user 選到之後要做什麼,所以他把責任
委託給delegate 來決定,來做。

3. 所以delegate 將會被實作,準備執行某些事務,當控制項受到user 使用時。

4. delegate 可以提供字串的顯示,或甚至是圖示,回傳給picker view。

5. 控制項擁有自己特定的資料來源(datasource) 與 受託者 (delegate),但是!
他們不一定要實作在不同的class 中。

沒有留言:

張貼留言