2016-10-25 6 views
1

Как добавить objectAtIndex:i из NSArray в NSMutableDictionaryКак добавить objectAtIndex: Я из NSArray в NSMutableDictionary

я попробовал

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

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

} 
+0

вы можете установить значение с ключом, как NSMutableDictionary * DIC = [[NSMutableDictionary Alloc] initWithObjectsAndKeys: [ARR objectAtIndex: I], @ "somekey" , ноль] –

ответ

0

попробовать это ....

NSArray * myArray = [NSArray arrayWithObjects:@"a", @"b", @"c"]; 

NSDictionary * dict = [NSDictionary dictionaryWithObject:myArray forKey:@"threeLetters"]; 

NSMutableDictionary * mutableDict = [NSMutableDictionary dictionaryWithCapacity:10]; 
[mutableDict setObject:myArray forKey:@"threeLetters"]; 
1
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 < [user count], как вы делаете теперь вы получите сообщение об ограничении индекса массива. Конечно, вы можете установить ключ для каждого элемента, но, возможно, захотите.

1

Вместо цикл, используйте Перечислим блок:

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]]; 
    }];