あるコマンドでNSSetオブジェクトを使ってNSSDictionaryをセットアップする方法はありますか?あるいは、すべてのセットのオブジェクトを最初に作成する必要がありますか?
たとえば、これは可能なのでしょうか?
NSDictionary *dictionary=[NSDictionary dictionaryWithObjectsAndKeys:{@"orange",@"lemon"},@"citrus",{@"horse",@"moose",@"goose"},@"animals",nil];
読んでくれてありがとう。
回答:
回答№1の場合は3NSSetリテラルはありません。しかし、NSArrayリテラルを使用してNSSetを初期化することができます。これは取得できる最短時間です。
NSDictionary *dictionary = @{
@"citrus": [NSSet setWithArray:@[@"orange", @"lemon"]],
@"animals": [NSSet setWithArray:@[@"horse", @"moose", @"goose"]]};
回答№2の場合は1
ない NSSet
Objective-Cのみのリテラル NSArray
リテラル。
NSDictionary *dictionary = @{ @"citrus" : @[ @"orange", @"lemon" ], @"animals" : @[ @"horse", @"moose" ,@"goose" ] };
だから、上記はあなたに NSDictionary
と NSArray
含有 orange
そして lemon
キーのために citrus
と NSArray
含有 horse
, moose
、および goose
キーのために animals
.
あなたはそれらにアクセスすることができます NSArrays
そのようです
dictionary[@"animals"] and dictionary[@"citrus"]
それらのリテラルアクセサも入れ子にすることができます
dictionary[@"animals"][0]
あなたに与えるだろう horse
.
配列メソッドを使用することもできます
[dictionary[@"citrus"] count]
あなたに与えるだろう 2