如何为每个键创建一个包含数组的NSDictionary?

Ita*_*mar 2 iphone xcode objective-c nsdictionary nsarray


我想知道如何(如果可能的话)创建一个NSDictionary,它为每个键保存一个NSArray.

像这样的东西:

@"FirstKey" - [0],[1],[2],[3]
@"SecondKey" - [0],[1],[2],[3]
@"ThirdKey" - [0],[ 1],[2],[3]
@"FourthKey" - [0],[1],[2],[3]

希望你有这个想法,谢谢!

Bar*_*ark 7

您可以将NSArray实例(或任何其他集合)添加为以下值NSDictionary:

NSDictionary *d = [[NSMutableDictionary alloc] init];
[d setValue:[NSArray arrayWithObjects:
               [NSNumber numberWithInteger:0], 
               [NSNumber numberWithInteger:1],
               ...,
               nil]
     forKey:@"FirstKey"];
[d setValue:[NSArray arrayWithObjects:
               [NSNumber numberWithInteger:0], 
               [NSNumber numberWithInteger:1],
               ...,
               nil]
     forKey:@"SecondKey"];
//etc.
Run Code Online (Sandbox Code Playgroud)

或者,如果您没有太多的键/值:

NSArray *values1 = [NSArray arrayWithObjects:
                    [NSNumber numberWithInteger:0], 
                    [NSNumber numberWithInteger:1],
                    ...,
                    nil];
NSArray *values2 = [NSArray arrayWithObjects:
                    [NSNumber numberWithInteger:0], 
                    [NSNumber numberWithInteger:1],
                    ...,
                    nil];
NSDictionary *d = [NSDictionary dictionaryWithObjectsAndKeys:
                     values1, @"FirstKey",
                     values2, @"SecondKey",
                     ...,
                     nil];
Run Code Online (Sandbox Code Playgroud)