Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 根据先前的选择器选择更新第二个UIPickerView_Ios_Objective C_Arrays_Cocoa Touch_Uipickerview - Fatal编程技术网

Ios 根据先前的选择器选择更新第二个UIPickerView

Ios 根据先前的选择器选择更新第二个UIPickerView,ios,objective-c,arrays,cocoa-touch,uipickerview,Ios,Objective C,Arrays,Cocoa Touch,Uipickerview,目前,我有一个数组中的名称值列表 我正在使用数组用名称填充第一个选择器,但我想根据我在第一个选择器中选择的内容将特定值加载到第二个选择器中 我使用MySQL数据库加载值并获取第二个数组的数据,我使用以下代码: - (void) getCustomData { NSString *concat = [NSString stringWithFormat:@"%@%@",getYear, self.textField.text]; NSURL *url = [NSURL URLWithString:c

目前,我有一个数组中的名称值列表

我正在使用数组用名称填充第一个选择器,但我想根据我在第一个选择器中选择的内容将特定值加载到第二个选择器中

我使用MySQL数据库加载值并获取第二个数组的数据,我使用以下代码:

- (void) getCustomData {
NSString *concat = [NSString stringWithFormat:@"%@%@",getYear, self.textField.text];
NSURL *url = [NSURL URLWithString:concat];
NSData *data = [NSData dataWithContentsOfURL:url];

jsonArray = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:nil];

yearArray = [[NSMutableArray alloc] init];


for (int i = 0; i < jsonArray.count; i++){

    NSString *pYear = [[jsonArray objectAtIndex:i] objectForKey:@"year"];

    [yearArray addObject:pYear];

}
}

getYear只是@

这样就成功地创建了一个名为yearray的数组,并用正确的值填充它

但这是我的问题


我现在需要用这些数据填充第二个选择器视图数组,然后重新加载第二个选择器视图,以便在第一个文本字段使用第一个选择器视图所做的选择进行更新时显示它。

首先,您的控制器应实现UIPickerViewDataSource和UIPickerViewDeleteGate协议,第一种是为选择器提供数据的方法。当你准备好了,你所要做的就是调用第二个选择器的updateAllComponents方法,让它刷新它的内容。 因此,在第一个选择器中检测选择的委托方法:

- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component {
  if (pickerView == self.yearPicker) {
    // update your data array for the second picker first
    // then call the following 
    [self.monthPicker updateAllComponents];
  }
}