2010-12-18 129 views
0

我首次使用存储在数组中的值加载选取器视图。如何使用新数据重新加载选取器视图

我使用,

temp = [NSArray arrayWithObjects:@"Male", @"Female", nil]; 

- (NSString *)pickerView:addData titleForRow:(NSInteger)row 
           forComponent:(NSInteger)component { 
    return [temp objectAtIndex:row]; 
} 

但它显示了空选择器视图。

回答

0

确保您设置了委托和数据源?

如果没有,

你有

@interface YourView : UIViewController<UIPickerViewDelegate,UIPickerViewDataSource> 
+0

我无法使用重新加载所有组件来动态地重新加载我的选取器视图。为什么? – 2010-12-27 10:50:13

+0

如何重新加载?使用你的pickerView变量?如果是这样,你有没有把它与IB联系起来? – KingofBliss 2010-12-28 05:09:42

3

你尝试[somePickerVier reloadAllComponents];实现这个在您的.h文件中?

而且,正确的委托方法是- (NSString *)pickerView:(UIPickerView *)pickerViewtitleForRow:(NSInteger)row forComponent:(NSInteger)component

0

ü一直在使用自动释放阵列 因此u必须保留这一点,如果ü希望

ü不喜欢这个

然后做的alloc和init然后

增加男,女...

temp = [[NSArray arrayWithObjects:@“Male”,@“Female”,nil] retain];

  • (的NSString *)pickerView:addData titleForRow:(NSInteger的)行 forComponent:(NSInteger的)分量{

    返回[临时objectAtIndex:行]。

}

0

你需要做的一两件事。将下面的行添加到您的活动中:

{ 

myPicker.delegete=self; 

myPicker.datasource=self; 

} 

还可以在拾取器视图通过添加数据源而崩溃时使用此功能。

[myPicker reloadAllComponents];