有没有办法在一个命令中使用 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包含orangeandlemon的 keycitrus和一个NSArray包含horse,moose和goosekey 的内容animals。
NSArrays你可以像这样
访问那些dictionary[@"animals"] and dictionary[@"citrus"]
您也可以嵌套这些文字访问器,这样
dictionary[@"animals"][0]会给您horse.
甚至使用数组方法
[dictionary[@"citrus"] count]会给你2