[Datasource]
提供在控制項與它需要展示之資料間的橋樑。控制項會問datasource它需要什麼,datasource則負責以控制項期望的格式提供資訊。
遵循 UIPickerViewDatasource協定。
需在*.m實作的方法:
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
[Delegate]
delegate負責元素的行為。
遵循 UIPickerViewDelegate協定。
需在*.m實作的方法:
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
[Protocol]
在 .h 檔要註明需遵守的協定:
@interface ViewController : UIViewController<UIPickerViewDataSource, UIPickerViewDelegate>
最後別忘了在 XIB 檔幫 UIPickerView 和 File's Owner 連結delegate及datasource。如果少了一個步驟都有可能出錯,可能執行後在編譯器沒有看到PickerView物件,或是一編譯就直接當掉。
希望我可以記下來,下次應用在別的物件! Peggy加油~
沒有留言:
張貼留言