Ios 将导入的类设置为委托
我创建了UIPickerView的一个子类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 *
@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的委托?