1
두 개의 UIPickerView가 있습니다. 첫 번째 세계 coutries가 포함되어 있습니다. 사용자가 국가를 선택하면 웹 서비스에 접속하여 해당 국가의 도시를 검색합니다. 모든 것은 나를 위해 잘 작동하지만 내가 처음으로 국가를 선택할 때만. 그러나 내가 두 번째로 그 나라를 선택하면, 처음으로 전시 한 동일한 도시가 있습니다. 이것은 내 코드입니다. UIPickerView의 내용이 chnage가 될 수없는 것처럼 보입니다.다른 UIPickerView의 선택에 따라 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);
}
}
마다 resultCities 나에게 새로운 선택한 국가의 새로운 도시 공연에 내가 ..., NSLog citiesArray에 @ "도시 군을 변경, 그래서 문제가
당신은 내가 그것을 다시로드? – Aravindhan
@Trisha pickerview를 다시로드 [pickerView이 reloadAllComponents] resultCities에, 그것은 잘 작동, 감사합니다 – user567
을 내가 추가 한? – user567