我创建了一个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有几个必须实现的协议方法,所以我必须说明委托和数据源是什么。在viewDidLoad of viewController中,我可以这样做,使viewController成为委托和数据源。
clockPickerView.delegate = self;
clockPickerView.dataSource = self;但是,我希望将导入的UIPickerView类设置为委托和数据源。如果我这么做
clockPickerView.delegate = ClockPicker;
clockPickerView.dataSource = ClockPicker;我得到一个错误unexpected interface name ClockPicker expected expression。
如何将导入文件中的类设置为委托和数据源,以便在该文件中而不是在viewController中设置所需的方法?
发布于 2014-04-21 15:29:20
您需要将ClockPicker的实例分配给delegate和dataSource (而不是类本身)。
你所犯的错误:
意外接口名ClockPicker预期表达式
...is说编译器期望赋值的右侧是一个表达式,但是您给了它一个接口的名称,这是一个错误。
https://stackoverflow.com/questions/23200370
复制相似问题