Ios4 iPhone Xcode 4选择器数据源

Ios4 iPhone Xcode 4选择器数据源,ios4,xcode4,uipickerview,sigabrt,Ios4,Xcode4,Uipickerview,Sigabrt,问这个问题似乎有点傻,但自从升级到Xcode 4之后,我经常使用的一种技术就不起作用了。我正在为.xib中的选择器设置数据源 以前是在头文件中声明以下内容的情况 @interface testViewController : UIViewController <UIPickerViewDelegate, UIPickerViewDataSource> { UIPickerView *singlePicker; NSArray *pickerData; } @p

问这个问题似乎有点傻,但自从升级到Xcode 4之后,我经常使用的一种技术就不起作用了。我正在为.xib中的选择器设置数据源

以前是在头文件中声明以下内容的情况

 @interface testViewController : UIViewController <UIPickerViewDelegate, UIPickerViewDataSource> {

    UIPickerView *singlePicker;
    NSArray *pickerData;

}

@property (nonatomic,retain) IBOutlet UIPickerView *singlePicker;
@property (nonatomic,retain) NSArray *pickerData;
然后将文件的所有者连接到选取器,选取器数据源,并将输出委托给文件的所有者,但当我将选取器的数据源输出连接到文件的所有者时,在应用程序加载之前,我收到一个SIGABRT错误

谁能给我解释一下吗?我不理解以前在Xcode 3中使用此方法构建的项目在Xcode 4中编译并运行良好,但我尝试创建的任何新项目都不起作用

非常感谢


Sam

结果是,现在必须在实现文件中包含以下函数

- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView {
return 1;
}
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component {
return [pickerViewArray count];
}
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component {
return [self.pickerViewArray objectAtIndex:row];
}
现在可以了

- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView {
return 1;
}
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component {
return [pickerViewArray count];
}
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component {
return [self.pickerViewArray objectAtIndex:row];
}