gpt4 book ai didi

ios - 在第一个字母顺序下排序 'Person.firstName' 的有效方法

转载 作者:行者123 更新时间:2023-11-29 02:57:42 25 4
gpt4 key购买 nike

我遍历一长串名字,我将每个名字分配给一个“人”对象。 Person 对象有一个 firstName 和一个 lastName。我正在寻找一种有效的方法来对从字母 AZ 开头的所有 firstNames 进行排序。我想出了这个解决方案,但它并不有效,或者肯定有比为字母表中的每个字母创建“24”数组更简单的方法。

 for(int i = 0; i < numberOfPeople; i++) {

...

if ([person.firstName hasPrefix:@"A"] || [person.firstName hasPrefix:@"a"]) {
[self.letterA_Array addObject:person];//NSMutableArray

}

...
}

如果它适用于对象,我想要类似于下面示例的东西,但我不确定:

NSDictionary *animals = @{@"B" : @[@"Bear", @"Black Swan", @"Buffalo"],
@"C" : @[@"Camel", @"Cockatoo"],
@"D" : @[@"Dog", @"Donkey"],
@"E" : @[@"Emu"],
@"G" : @[@"Giraffe", @"Greater Rhea"],
@"H" : @[@"Hippopotamus", @"Horse"],
@"K" : @[@"Koala"],
@"L" : @[@"Lion", @"Llama"],
@"M" : @[@"Manatus", @"Meerkat"],
@"P" : @[@"Panda", @"Peacock", @"Pig", @"Platypus", @"Polar Bear"],
@"R" : @[@"Rhinoceros"],
@"S" : @[@"Seagull"],
@"T" : @[@"Tasmania Devil"],
@"W" : @[@"Whale", @"Whale Shark", @"Wombat"]};

最佳答案

你可以这样做:

NSArray *names = @[@"Bob", @"Book2", @"August", @"Zulu", @"Agnoz"];
NSMutableDictionary *buckets = [[NSMutableDictionary alloc] init];
for (NSString *name in names) {
NSString *index = [name substringToIndex:1];
if (!buckets[index]) {
buckets[index] = [[NSMutableArray alloc] init];
}
[buckets[index] addObject:name];
}

关于ios - 在第一个字母顺序下排序 'Person.firstName' 的有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23702924/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com