UIPickerView的内容取决于另一个UIPickerView的选择



我有两个UIPickerView。第一个包含世界各国。当用户选择一个国家时,我联系一个web服务来检索这个国家的城市。所有这些对我来说都很好,但前提是我第一次选择这个国家。但是当我第二次选择这个国家时,第一次显示的城市还是在那里。这是我的代码。看起来UIPickerView的内容是不能改变的

- (NSString*)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component 
{
    NSString *codeCity;
    codeCity=[countriesArray objectAtIndex:row];
    if([pickerView tag] == 1)
    {
        NSString *codeCity;
    codeCity=[countriesArray objectAtIndex:row];
        return [countriesArray objectAtIndex:row];
    }
    else 
    return [citiesArray objectAtIndex:row];
}
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView {
    return 1;
}
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component 
{
    if([pickerView tag] == 1)
        return [countriesCodeArray count];
    else
        return [citiesArray count];
}
- (void)onLocationSelection {
    NSInteger row = [self.countrys selectedRowInComponent:0];
    if(([countriesArray count])!=0)
    {
        if ( [countryField isFirstResponder] ) 
        {
            choosedCodeCity=[countriesCodeArray objectAtIndex:row];
            choosedNameCity=[countriesArray objectAtIndex:row];
            countryField.text = choosedNameCity;
            [countryField resignFirstResponder];
            [self getCities];
            NSLog(@"get cities() %@",choosedCodeCity);
        }
-(void)getCities
{
    NSString * myURLString = [NSString stringWithFormat:@"http://localhost:8080/Data/resources/converter.city/CountryCode/%@",choosedCodeCity];
    NSURL *url =[NSURL URLWithString:myURLString];
    ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
    [request setDelegate:self];
    request.didFinishSelector = @selector(resultCities:);
    request.didFailSelector = @selector(resultCitiesError:);
    [request startAsynchronous];

}

-(void)resultCities :(ASIHTTPRequest *)request
{
    [citiesArray release];
    citiesArray= [[NSMutableArray alloc] init];
    NSString *responseString = [request responseString];
    NSDictionary *json    = [responseString JSONValue];
   // NSLog(@"%@",json);
    for (int i=0; i<[json count]; i++)
    {

            [citiesArray addObject:[[json objectAtIndex:i] objectForKey:@"name"]];

   NSLog(@"cities on citiesArray %@ ", citiesArray);
        }
    }

每次我更改县,NSLog@"cities on citiesArray…on resultCities显示了新选择国家的新城市,所以问题不存在

put - (void)onLocationSelection{}代码。