有没有办法在一个命令中使用 NSSet 对象设置 NSSDictionary?或者,是否需要首先为所有集合创建对象?
例如,这样的事情可能吗?
NSDictionary *dictionary=[NSDictionary dictionaryWithObjectsAndKeys:{@"orange",@"lemon"},@"citrus",{@"horse",@"moose",@"goose"},@"animals",nil];
谢谢阅读。
有没有办法在一个命令中使用 NSSet 对象设置 NSSDictionary?或者,是否需要首先为所有集合创建对象?
例如,这样的事情可能吗?
NSDictionary *dictionary=[NSDictionary dictionaryWithObjectsAndKeys:{@"orange",@"lemon"},@"citrus",{@"horse",@"moose",@"goose"},@"animals",nil];
谢谢阅读。
没有 NSSet 文字,没有。但是你可以使用一个 NSArray 文字来初始化一个 NSSet……它是你能得到的最短的:
NSDictionary *dictionary = @{
@"citrus": [NSSet setWithArray:@[@"orange", @"lemon"]],
@"animals": [NSSet setWithArray:@[@"horse", @"moose", @"goose"]]};
Objective-C中没有NSSet
文字,只有NSArray
文字。
NSDictionary *dictionary = @{ @"citrus" : @[ @"orange", @"lemon" ], @"animals" : @[ @"horse", @"moose" ,@"goose" ] };
因此,上面将为您NSDictionary
提供一个NSArray
包含orange
andlemon
的 keycitrus
和一个NSArray
包含horse
,moose
和goose
key 的内容animals
。
NSArrays
你可以像这样
访问那些dictionary[@"animals"] and dictionary[@"citrus"]
您也可以嵌套这些文字访问器,这样
dictionary[@"animals"][0]
会给您horse
.
甚至使用数组方法
[dictionary[@"citrus"] count]
会给你2