2015-06-23 71 views
0

我是IOS開發中的新成員,我正在使用UIPickerView。我正在讀一本書名爲:在故事板中連接UIPickerView數據源和委託的原因

從iPhone開發與斯威夫特

在222頁的書告訴做到這一點:

接着,機械臂後,按⌥z6調出Connections Inspector。如果您查看可用於選取器視圖的連接,則會看到前兩項是dataSource和delegate。如果你沒有看到這些插座,請確保你選擇了選擇器,而不是包含它的UIView!從dataSource旁邊的圓圈拖到View Controller圖標。在故事板或文檔大綱中場景的頂部,然後從代理旁邊的圓圈拖到View Controller圖標。

但我不知道這個連接的原因。請你可以解釋一下。謝謝。

+2

您說的是選擇器的數據源和委託方法是在該視圖控制器中實現的。你也可以通過設置'picker.datasource = viewcntrollerObj;'和'picker.delegate = viewcntrollerObj;' –

+0

這樣做代碼的原因是什麼? – Alamin

+0

委託和數據源必須連接,以便在選取器中設置值以及從中獲取元素。總之,您必須設置代理和數據源 –

回答

1

代表協議

委託必須採用UIPickerViewDelegate協議和實現所需的方法返回繪製矩形對在每個組件的行。它還爲每個組件的行提供了內容,無論是字符串還是視圖,並且它通常會響應新的選擇或取消選擇。

數據源協議

數據源必須採用UIPickerViewDataSource協議和實現所需的方法返回部件的數量和在每個組件的行數。

檢查此鏈接 https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIPickerView_Class/#//apple_ref/occ/instp/UIPickerView/dataSource

希望它幫助。