【问题标题】:iOS - How to get first charater of string from NSMutableArray and store it in NSMutableDictionary?iOS - 如何从 NSMutableArray 获取字符串的第一个字符并将其存储在 NSMutableDictionary 中?
【发布时间】: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


【解决方案1】:

你的可变数组只有一个很长的字符串,里面有很多逗号。您需要单独引用每个项目:

NSArray *array = [[NSArray alloc] initWithObjects:@"Shyam", @"Ram", @"Hari", @"Gita", .....

【讨论】:

  • 非常感谢,很抱歉打扰了您.. 让我感到羞耻:)
猜你喜欢
  • 2020-07-05
  • 1970-01-01
  • 1970-01-01
  • 2022-07-20
  • 1970-01-01
  • 2014-03-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多