У меня есть приложение, которое получает информацию из списка.plist
- это массив Dictionaries
с ключами (автор, кошка, контент).Теперь я хотел бы показать категории в таблице.Поэтому мне нужны все уникальные записи категории в отсортированном виде.
Я успешно реализовал следующий способ, но мне интересно, если это «правильное» решение.
- Пройдите через массив plist и создайте новый
NSMutableArray
со всеми записями категорий словаря - поместите
NSMutableArray
в NSSet
, чтобы получить уникальные элементы - поместите
NSSet
в NSArray
, чтобы иметь возможность отсортировать его. - вернуть
NSMutableArray
, начатый с отсортированным NSArray
Я не чувствую, что это правильный способ сделать это.Любые предложения, чтобы сделать это лучше?
Большое спасибо!
//InhaltefromWEb is a NSMutableArray
-(NSArray*) getCategories {
NSMutableArray* categorieTemp = [[NSMutableArray alloc] init];
unsigned count = [InhalteFromWeb count];
while (count--) {
NSString *tempString;
tempString=[[InhalteFromWeb objectAtIndex:count] objectForKey:CATEGORY];
NSLog(@"tempString %@", tempString );
[categorieTemp addObject:tempString];
}
NSSet *uniqueElements = [NSSet setWithArray:categorieTemp];
NSLog(@"categories from engine %@", categorieTemp);
NSArray* tempAr = [[[NSArray alloc] initWithArray:[uniqueElements allObjects]]sortedArrayUsingSelector:@selector(caseInsensitiveCompare:)];
return [NSMutableArray arrayWithArray:tempAr];
}