首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iPhone Xcode 4选取器数据源

iPhone Xcode 4选取器数据源
EN

Stack Overflow用户
提问于 2011-03-31 02:23:21
回答 1查看 5.4K关注 0票数 0

这似乎是一个有点愚蠢的问题,但由于升级到Xcode4,我经常使用的一种技术不起作用。我正在讨论如何在.xib中设置选取器的数据源

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

代码语言:javascript
复制
 @interface testViewController : UIViewController <UIPickerViewDelegate, UIPickerViewDataSource> {

    UIPickerView *singlePicker;
    NSArray *pickerData;

}

@property (nonatomic,retain) IBOutlet UIPickerView *singlePicker;
@property (nonatomic,retain) NSArray *pickerData;

然后在主'viewDidLoad‘中设置数据源,这样...

代码语言:javascript
复制
- (void)viewDidLoad
{
    NSArray *array = [[NSArray alloc] initWithObjects:@"Small", @"Medium", @"Long", nil];
    self.pickerData = array;
    [array release];

    [super viewDidLoad];
}

然后将文件的所有者连接到选择器,选择器的数据源,并将代理出口连接到文件的所有者,但是当我将选择器的数据源出口连接到文件的所有者时,我在应用程序加载之前得到了一个SIGABRT错误...

有人能给我解释一下吗?我不明白我以前在Xcode3中使用这种方法构建的项目在Xcode4中编译和运行得很好,但是我尝试创建的任何新项目都不能工作吗?

非常感谢

相同的

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-03-31 03:10:32

事实证明,您现在必须在实现文件中包含以下函数...

代码语言:javascript
复制
- (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];
}

它现在起作用了!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5490486

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档