I have NSMutableArray data as below.
(
{
Id = "-1";
NameEn = Country;
},
{
Id = 14;
NameEn = Iran;
},
{
Id = 11;
NameEn = Jordan;
},
{
Id = 5;
NameEn = "United Arab Emirates";
},
{
Id = 4;
NameEn = "Suadi Arabia";
},
{
Id = 3;
NameEn = Kuwait;
},
{
Id = 10;
NameEn = Yemen;
},
{
Id = 6;
NameEn = Oman;
},
{
Id = 12;
NameEn = Syria;
},
{
Id = 7;
NameEn = Qatar;
},
{
Id = 13;
NameEn = Lebanon;
},
{
Id = 1;
NameEn = Egypt;
},
{
Id = 8;
NameEn = "Bahrain Kingdom";
}
)
I want to find the location where Id=5.
Any idea how can I do?
I tried with below.
NSString *myCountry = [[NSUserDefaults standardUserDefaults] valueForKey:@"mCountryId"];
NSUInteger indexOfTheObject = [feedsCountry indexOfObject: myCountry];
NSLog(@"indexOfTheObject===%i==%@", indexOfTheObject, myCountry);
if (NSNotFound == indexOfTheObject) {
NSLog(@"not found...");
}
But I get output as not found...
for mCountryId as 5.
Use an NSDictionary
instead, and key your entries by Id; e.g.:
NSMutableDictionary* dictionary = [NSMutableDictionary new];
[dictionary setObject:@"Egypt" forKey:@"1"];
// (etc...)
EDIT: If you already have an array and can not change that, use a for
loop like this:
for(NSDictionary* entry in givenArray){
NSString* key = [entry objectForKey:@"Id"];
NSString* value = [entry objectForKey:@"NameEn"];
[dictionary setObject:value forKey:key];
}
Collected from the Internet
Please contact [email protected] to delete if infringement.
Comments