나는 이것에 관해서 많은 질문을 발견했다. 그러나 제안 된 모든 해결책은 위임자 방법에서 피커 1이나 피커 2를 구별하는 것처럼 보인다.두 개의 서로 다른 데이터 소스를 두 개의 UIPickerView에 할당하는 방법은 무엇입니까?
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{
NSArray *values = (pickerView == picker1 ? values1 : values2);
return [values count];
}
그러나 당신이 solution b)으로 전술 한 바와 같이 두 개의 선택기를 구분하지 않고이를 달성하기 위해 별도의 파일에 캡슐화 된 두 개의 서로 다른 데이터 소스를 할당 할 수있는 솔루션이있을 것 같다.
이제 약간 혼란 스럽습니다. 두 피커를 사용하여 뷰의 FileOwner로 설정 한 ViewController가 있다고 가정 해 보겠습니다. 이제 <UIPickerViewDataSource>
및 <UIPickerViewDelegate>
을 준수하는 두 개의 개별 인터페이스를 만드는 경우보기에서이 두 인터페이스로 피커를 어떻게 바인딩합니까? 확실히 ViewController (FileOwner)로 가져올 수 있습니다. 하지만 그 다음엔?