我有这种格式的数组
rows = [[NSArray alloc] initWithObjects:@"adam", @"alfred", @"ain", @"abdul", @"anastazja", @"angelica",
@"dennis" , @"deamon", @"destiny", @"dragon", @"dry", @"debug" @"drums",
@"Fredric", @"France", @"friends", @"family", @"fatish", @"funeral",
@"Mark", @"Madeline",
@"Nemesis", @"nemo", @"name",
@"Obama", @"Oprah", @"Omen", @"OMG OMG OMG", @"O-Zone", @"Ontario",
@"Zeus", @"Zebra", @"zed", nil];
但我需要按照以下格式
rows = @[@[@"adam", @"alfred", @"ain", @"abdul", @"anastazja", @"angelica"],
@[@"dennis" , @"deamon", @"destiny", @"dragon", @"dry", @"debug", @"drums"],
@[@"Fredric", @"France", @"friends", @"family", @"fatish", @"funeral"],
@[@"Mark", @"Madeline"],
@[@"Nemesis", @"nemo", @"name"],
@[@"Obama", @"Oprah", @"Omen", @"OMG OMG OMG", @"O-Zone", @"Ontario"],
@[@"Zeus", @"Zebra", @"zed"]];
表示不同字典中相同的起始字符p>
最佳答案
最简单的方法。
NSArray *rows = ...;
NSMutableDictionary *map = [NSMutableDictionary dictionary];
for (NSString *value in rows) {
NSString *firstLetter = [value substringToIndex:1];
if (!map[firstLetter]) {
map[firstLetter] = @[];
}
NSMutableArray *values = [map[firstLetter] mutableCopy];
[values addObject:value];
map[firstLetter] = values;
}
NSArray *finalRows = [map allValues];
请注意,finalRows
未排序。
关于ios - 根据数组字符转换数组格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23309162/