1

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

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

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

谢谢阅读。

4

2 回答 2

3

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

NSDictionary *dictionary = @{
    @"citrus":  [NSSet setWithArray:@[@"orange", @"lemon"]],
    @"animals": [NSSet setWithArray:@[@"horse", @"moose", @"goose"]]};
于 2012-11-18T19:26:06.833 回答
1

Objective-C中没有NSSet文字,只有NSArray文字。

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

因此,上面将为您NSDictionary提供一个NSArray包含orangeandlemon的 keycitrus和一个NSArray包含horse,moosegoosekey 的内容animals

NSArrays你可以像这样 访问那些dictionary[@"animals"] and dictionary[@"citrus"]

您也可以嵌套这些文字访问器,这样 dictionary[@"animals"][0]会给您horse.

甚至使用数组方法

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

于 2012-11-18T19:29:14.940 回答