【发布时间】:2015-12-19 02:08:46
【问题描述】:
- (void)loadData: (NSMutableArray *)myMutableArray {
self.myMutableDict = [[NSMutableDictionary alloc] init];
for (NSString *str in myMutableArray) {
NSString *key = [str substringToIndex:1];
NSLog(@"Key: %@", key);
NSLog(@"str: %@", str);
if ([self.myMutableDict objectForKey:key]) {
NSMutableArray *list = (NSMutableArray *)[self.myMutableDict objectForKey:key];
[list addObject:str];
[self.myMutableDict setObject:list forKey:key];
} else {
NSMutableArray *list = [[NSMutableArray alloc] initWithObjects:str, nil];
[self.myMutableDict setObject:list forKey:key];
}
}
[self.tblAlphabeticalOrder reloadData];
}
【问题讨论】:
-
我在 NSMutableArray 中的字符串很少。 NSLog(@"str: %@", str);正在正确记录所有数据,但 NSLog(@"Key: %@", key);仅记录第一个字符串的第一个字母。发生了什么事我越来越困惑。谁能尽快回复我?
-
不明白你想要什么?
-
我想从 NSMutableArray 中取出每个字符串的第一个字母并将其放入 Dictionary 键中。
-
你没有得到第一个字母,你得到的是第一个 UTF-16 代码点,它甚至不是一个完整的 Unicode 字符。真正告诉我们你真正想做什么。
-
@RoshanRijal 使用您编写的评论部分中的代码编辑问题
标签: ios objective-c nsmutablearray nsdictionary