Ios 将导入的类设置为委托

Ios 将导入的类设置为委托,ios,objective-c,Ios,Objective C,我创建了UIPickerView的一个子类 @interface ClockPicker : UIPickerView @property (strong, nonatomic) NSArray *manyNumbers; @end 并将其导入我的viewController,然后像这样实例化它 #import "clockPicker.h" @interface sfViewController () @property (strong, nonatomic) ClockPicker *

我创建了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;
我得到一个错误
意外的接口名称时钟选择器预期表达式

如何将导入文件中的类设置为委托和数据源,以便在该文件中而不是在viewController中设置所需的方法?

您需要将
时钟选择器的实例分配给
委托和
数据源(而不是类本身)

您得到的错误是:

意外的接口名称时钟选择器应为表达式


…的意思是编译器希望赋值的右侧是表达式,但您给了它接口的名称,这是一个错误。

您是否在自己的自定义类中重写了picker的委托?