使用NSSet对象设置NSDictionary

时间:2012-11-18 19:08:55

标签: objective-c nsdictionary nsset

有没有办法在一个命令中使用NSSet对象设置NSSDictionary?或者,是否需要首先为所有集创建对象?

例如,这样的事情可能吗?

NSDictionary *dictionary=[NSDictionary dictionaryWithObjectsAndKeys:{@"orange",@"lemon"},@"citrus",{@"horse",@"moose",@"goose"},@"animals",nil];

感谢阅读。

2 个答案:

答案 0 :(得分:3)

没有NSSet文字,没有。但你可以使用NSArray文字来初始化一个NSSet ......它是你能得到的最短的:

NSDictionary *dictionary = @{
    @"citrus":  [NSSet setWithArray:@[@"orange", @"lemon"]],
    @"animals": [NSSet setWithArray:@[@"horse", @"moose", @"goose"]]};

答案 1 :(得分:1)

Objective-C中只有NSSet个文字只有NSArray个文字。

NSDictionary *dictionary = @{ @"citrus" : @[ @"orange", @"lemon" ], @"animals" : @[ @"horse", @"moose" ,@"goose" ] };

因此,上面的内容会为NSDictionary提供一个NSArray,其中包含orangelemon,其中包含密钥citrusNSArray密钥horse的{​​{1}},moosegoose

你可以像这样访问那些animals NSArrays

您也可以嵌套这些文字访问器 dictionary[@"animals"] and dictionary[@"citrus"]会给你dictionary[@"animals"][0]

甚至使用数组方法

horse会给你[dictionary[@"citrus"] count]