Вы можете добавить страны в NSMutableArray и проверить, содержит свойствоObject.В этом случае я добавляю строку - вы можете добавить через какой-то идентификатор страны, но вам нужно проверить по тому же идентификатору страны (что бы вы ни выбрали).Номер строки не является хорошим идентификатором - он не стабилен.
NSMutableArray *list = [[NSMutableArray alloc] init];
[list addObject:@"US"];
[list addObject:@"CN"];
NSLog(@"usa? %d", (int)[list containsObject:@"US"]);
Еще более быстрый способ проверить, была ли выбрана страна, заключается в добавлении страны к NSMutableSet при выборе.
NSMutableSet - это хэш-набор, поэтому поиск выполняется очень быстро.
NSMutableSet *lookup = [[NSMutableSet alloc] init];
[lookup addObject:@"US"];
[lookup addObject:@"CN"];
NSLog(@"usa? %d", (int)[lookup containsObject:@"US"]);
Оба вывода 1.
Ключевым отличием является то, что NSMutableArray представляет собой список заказов элементов - список.NSMutableSet оптимизирован для содержания - только набор.Например, если вы хотите отслеживать не только то, что выбрано, но и порядок, в котором они были выбраны, вам нужен изменяемый массив.Кроме того, приложения нередко содержат совокупные структуры данных для ответа на порядок и содержат типовые вопросы.
Кстати, вот как можно получить все коды стран ИСО
NSArray *countryCodes = [NSLocale ISOCountryCodes];
for (NSString *cc in countryCodes)
{
NSLog(@"cc: %@", cc);
}