SearchViewController를 각 UIPickverView의 위임자로 만드는 것은 가능합니다. SearchViewController의 인터페이스 (예 : @interface SearchViewController : UIViewController <UIPickerViewDelegate>
)에 <UIPickerViewDelegate>
주석을 포함하고 컴파일러는 필요한 메소드가 누락 된 경우 유용하게 상기시켜줍니다. 그러나 6.1 이후에는 UIPickerViewDelegate 프로토콜에 필요한 메소드가 없습니다.
UIPickerViewDelegate 프로토콜의 모든 메서드는 첫 번째 인수로 UIPickerView를 사용합니다. 인수가 3 개의 개별 UIPickerView와 동일한 지 확인하고 각 뷰에 대해 필요에 따라 대리자 메서드의 동작을 수정합니다. 결국 다음과 같은 코드로 끝날 것입니다 :
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component {
if (pickerView == self.myFirstPickerView) {
return self.myFirstSearchMethodResultTitles[row];
} else if (pickerView == self.mySecondPickerView) {
return self.mySecondSearchMethodResultTitles[row];
} else if (pickerView == self.myThirdPickerView) {
return self.myThirdSearchMethodResultTitles[row];
} else {
NSAssert(NO, @"Should not have reached this point!");
return nil;
}
}