2010-05-02 1 views
4

UIView에 UIPickerView가 있습니다. 내가하는 .m 파일의 .H 위임 년 프로토콜을 구현했습니다 : IB에서UIPickerView가 표시되지 않습니다.

<UIPickerViewDataSource, UIPickerViewDelegate> 

, 나는 나는 또한에 함께 IBOutlet가 피커에 위를 연결했습니다. 방법은 다음과 같습니다.

- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)thePickerView { 
return 1; 
} 

- (NSInteger)pickerView:(UIPickerView *)thePickerView numberOfRowsInComponent:(NSInteger)component { 
return [self.arr count]; 
} 

- (NSString *)pickerView:(UIPickerView *)thePickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component { 
return @"test"; 
} 

- (void)pickerView:(UIPickerView *)thePickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component { 
//do something 
} 

피커가 작동하지 않도록하는 아이디어가 있습니까?

+0

UIPickerView *pickerView; pickerView.delegate = self;//write this line in view did load method. 

희망, 당신은 self.arr하지 전무하고 실제로 데이터가 확인한? – DyingCactus

+0

그 방법은 절대로 안타. 델리게이트 메소드 중 어느 것도 타격을주지 않습니다. – 4thSpace

+0

지금 어떤 문제가 있습니까? – Rajneesh071

답변

7

대리자 메서드가 호출되지 않으면 IB에서 피커 뷰의 대리자 및 데이터 소스가 File 's Owner에 연결되어 있는지 확인합니다. .H 파일에서

는 픽커 뷰 콘센트 같이 선언되어야한다

@property (비 원자, 유지) 함께 IBOutlet UIPickerView * pickerView 단계;

+0

모두 괜찮 았어. 어떤 이유로 UIPickerView가 초기화되지 않았 음을 발견했습니다. 나는 IBoutlet의 연결을 끊고 다시 연결했습니다. 이제는 괜찮습니다. – 4thSpace

+0

이것은 나를 위해 아무 것도하지 않았습니다. 난 그냥 스토리 보드에서 드래그하고 Xcode는 그 속성을 약간 다르게 만들었습니다. @property (weak, nonatomic) IBOutlet UIPickerView * departmentPickerView; – coolcool1994

3

의 파일 소유자의 데이터 소스 및 위임에 연결되어하지 pickerview에 당신이 UIPickerView에 대리인이 위임 방법의 이유는 아무도 호출되지 먹으 렴 할당되지 않은 인해입니다. 이 도움이 귀하의 질문에 답을 알려 주시기 ... :) numberOfRowsInComponent에서