1

Мой ответ json вроде этого.Как сравнить выбранный идентификатор с идентификатором страны в массиве и отображать его имя не ID

{ 
    "continent_code" = EU; 
    "country_code" = al; 
    "country_id" = 2; 
    "country_name" = Albania; 
}, 
{ 
    "continent_code" = AF; 
    "country_code" = dz; 
    "country_id" = 3; 
    "country_name" = Algeria; 
}, 

Мой код такой.

country_selected=2; 
NSMutableArray *wholeJsonArray = [LoginResult objectForKey:@"Response"]; 
    for(NSDictionary *countname in wholeJsonArray) 
    { 

     /* 
     NSString *cName = [NSString stringWithFormat:@"%@",[countname  
     objectForKey:@"country_name"]]; 
     [countryArray addObject:cName]; 
     */ 


     NSString *countryName = [countname objectForKey:@"country_name"]; 
     if(countryName) 
      [countryArray addObject:countryName]; 


     NSString *stateName=[countname objectForKey:@"state_name"]; 
     if(stateName) 
      [stateArray addObject:stateName]; 
    } 

    for(NSDictionary *cid in wholeJsonArray) 
    { 

     NSNumber *number = [cid objectForKey:@"country_id"]; 
     if(number) 
      [idcountry addObject:number]; 

     NSNumber *statenumber=[cid objectForKey:@"state_id"]; 
     if(statenumber) 
      [idstate addObject:statenumber]; 

    } 
} 

Мой вопрос заключается в том, что если пользователь выбрал страна идентификатор 2 затем сравнить это значение в поле массива, а затем отобразить в названии метки является Албания.

Так как я могу сделать этот выход?

Пожалуйста, помогите мне.

Заранее спасибо.

ответ

0

Создайте метод, чтобы найти страну от выбранного CountryId

- (NSDictionary *)countryWithId:(NSUInteger)countryID 
{ 
    NSPredicate *predicate = [NSPredicate predicateWithFormat:@"country_id == %d",countryID]; 
    return [[self.wholeJSONArray filteredArrayUsingPredicate:predicate]lastObject]; 

} 

Вы можете получить страна, как

NSDictionary *country = [self countryWithId:2]; 
NSString *countryName = country[@"country_name"]; 

EDIT: ИЛИ

country_selected=2; 
NSMutableArray *wholeJsonArray = [LoginResult objectForKey:@"Response"]; 

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"country_id == %d",countryID]; 
NSDictionary *country = [[wholeJsonArray filteredArrayUsingPredicate:predicate]lastObject]; 
NSString *countryName = country[@"country_name"]; 
1
country_selected=2; 
NSString *countryName; 
for(NSDictionary *countname in wholeJsonArray) 
{ 
    NSNumber *country_id = [countname objectForKey:@"country_id"]; 
    if(country_selected == country_id.integerValue){ 
     countryName = [countname objectForKey:@"country_name"]; 
    }   
} 

Где countryName будет содержать выбранное имя страны;

+0

Большое спасибо –

 Смежные вопросы

  • Нет связанных вопросов^_^