У меня есть массив строк, которые я хотел бы отсортировать по количеству слов в каждой строке.Я, однако, слабо разбираюсь в словарях и массивах и испытываю затруднения при эффективном выполнении этого.
Одним из способов может быть размещение каждой строки в словаре, в котором есть строка и количество слов, и затем сортировка словарей.по количеству слов, используя NSSortDescriptor.
Что-то вроде:
NSArray *myWordGroups = @[@"three",@"one two three",@"one two"];
NSMutableArray *arrayOfDicts=[NSMutableArray new];
for (i=0;i<[myWordGroups count];i++) {
long numWords = [myWordGroups[i] count];
//insert word and number into dictionary and add dictionary to new array
}
NSSortDescriptor *sortDescriptor;
sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"numWords"
ascending:NO];
NSArray *sortedArray = [myWords sortedArrayUsingDescriptors:@[sortDescriptor]];
Мне неясно, какой код добавить слово и количество слов в словарь.И даже если бы я знал этот код, он кажется ужасно громоздким.
Есть ли способ быстро отсортировать массив строк по количеству слов в каждом?
Заранее спасибо за любые предложения.