【问题标题】:How to Add objectAtIndex:i of NSArray to NSMutableDictionary如何将 NSArray 的 objectAtIndex:i 添加到 NSMutableDictionary
【发布时间】:2017-03-07 13:19:03
【问题描述】:

如何将objectAtIndex:iNSArray 添加到NSMutableDictionary

我试过了

for(int i=0 ;i<=[user count]; i++){

NSMutableDictionary * dict = [NSMutableDictionary :[user objectAtIndex:i]];

}

【问题讨论】:

  • 您可以使用 NSMutableDictionary *Dic = [[NSMutableDictionary alloc] initWithObjectsAndKeys:[Arr objectAtIndex:i],@"somekey", nil] 之类的键设置值

标签: ios objective-c nsarray nsmutabledictionary


【解决方案1】:

使用枚举块代替 for 循环:

    NSArray *arr;
    NSMutableDictionary *dic = [[NSMutableDictionary alloc]init];
    [arr enumerateObjectsUsingBlock:^(id  _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {

        [dic setObject:obj forKey:[NSString stringWithFormat:@"%lu", (unsigned long)idx]];
    }];

【讨论】:

    【解决方案2】:
     NSMutableDictionary *dic = [[NSMutableDictionary alloc] initWithCapacity:[user count]];
    
     for(int i=0 ;i<[user count]; i++) {
        [dic setObject:[user objectAtIndex:i] forKey:[NSString stringWithFormat:@"%i", i]];
     }
    

    小心这个:i

    【讨论】:

      【解决方案3】:

      试试这个....

      NSArray * myArray = [NSArray arrayWithObjects:@"a", @"b", @"c"];
      
      NSDictionary * dict = [NSDictionary dictionaryWithObject:myArray forKey:@"threeLetters"];
      
      NSMutableDictionary * mutableDict = [NSMutableDictionary dictionaryWithCapacity:10];
      [mutableDict setObject:myArray forKey:@"threeLetters"];
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多