2014-04-21 2 views
1

로 가져온 클래스를 설정 내가 UIPickerView는 위임

의 서브 클래스
@interface ClockPicker : UIPickerView 
@property (strong, nonatomic) NSArray *manyNumbers; 

@end 

을 만들어 내의 ViewController로를 수입해야 여러 프로토콜 메소드가이

#import "clockPicker.h" 
@interface sfViewController() 

@property (strong, nonatomic) ClockPicker *clockPicker; 


@end 

@implementation sfViewController 

-(ClockPicker *)clockPIcker 
{ 
    if (!_clockPicker) _clockPicker = [[ClockPicker alloc] initWithFrame:CGRectMake(0, 200, 320, 200)]; 
    return _clockPicker; 
} 

UIPickerView처럼 인스턴스화 구현되었으므로 위임자와 데이터 소스가 무엇인지 말해야합니다. 의 ViewController의 viewDidLoad에, 나는이의 ViewController에게 위임 및

clockPickerView.delegate = self; 
clockPickerView.dataSource = self; 

는 그러나, 나는 대리인 및 데이터 소스를 수 가져온 UIPickerView 클래스를 설정하려는 데이터 소스를 만들기 위해이 작업을 수행 할 수 있습니다. 내가 이렇게하면

clockPickerView.delegate = ClockPicker; 
clockPickerView.dataSource = ClockPicker; 

나는 unexpected interface name ClockPicker expected expression 오류가 발생합니다.

내가 가져온 파일의 클래스를 delegate 및 datasource로 설정하면 viewController가 아닌 해당 파일에서 필요한 메서드를 설정할 수 있습니까?

+0

사용자 지정 클래스에서 피커 대리자를 재정의 했습니까? – Retro

답변

2

당신은 delegatedataSource (안 클래스 자체)에 ClockPicker예를을 할당해야합니다.

오류 당신이 얻고 :

ClockPicker 예상 표현

..., 컴파일러는 식으로 할당의 오른쪽 측면을 기대한다는 예기치 않은 인터페이스 이름 만 당신은 인터페이스의 이름을주었습니다. 이것은 오류입니다.