有没有办法在一个命令中使用NSSet对象设置NSSDictionary?或者,是否需要首先为所有集创建对象?
例如,这样的事情可能吗?
NSDictionary *dictionary=[NSDictionary dictionaryWithObjectsAndKeys:{@"orange",@"lemon"},@"citrus",{@"horse",@"moose",@"goose"},@"animals",nil];
感谢阅读。
答案 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
,其中包含orange
和lemon
,其中包含密钥citrus
和NSArray
密钥horse
的{{1}},moose
和goose
。
你可以像这样访问那些animals
NSArrays
您也可以嵌套这些文字访问器
dictionary[@"animals"] and dictionary[@"citrus"]
会给你dictionary[@"animals"][0]
。
甚至使用数组方法
horse
会给你[dictionary[@"citrus"] count]