iOS5中的UIPickerView插座有问题吗?

时间:2011-12-27 10:08:13

标签: delegates ios5 datasource xcode4.2 uipickerview

我不明白应该连接哪些插座! 在我的网点:

dataSource delegate

但我应该在哪里连接它们? 那我怎么能用它们呢?

???

1 个答案:

答案 0 :(得分:0)

在Xcode中,连接数据源&将出口委托给包含UIPickerView的UIViewController。 数据源方法在UIViewController实现中声明。假设您的选择器将显示:“英语”和“法语”:

- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView 
{
    return 2;
}

- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
{
    NSArray *pickerContent = [NSArray arrayWithObjects:@"English", @"French", nil];
    return [pickerContent objectAtIndex:row];
}

委托方法也在UIViewController实现中声明:

- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
    NSArray *titles = [NSArray arrayWithObjects:@"English", @"French", nil];
    NSString *userSelectionFromPicker = [titles objectAtIndex:row];
}

有关userSelectionFromPicker如何用于在应用中执行操作的一些示例:

  1. 视图控制器方法:[localMethod doSomethingWith:userSelectionFromPicker]
  2. 注意:userSelectionFromPicker是视图控制器的属性(而不是局部变量),并由视图控制器的委托访问 - 通常在视图控制器被解除时
  3. userSelectionFromPicker更改
  4. 时会调用通知