1

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

NSSetObjective-C のみのリテラルにはリテラルはありませんNSArray

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

したがって、上記は、キーNSDictionaryNSArray含むorangeandlemonと、キーcitrusNSArray含むhorse,mooseおよびgooseを提供しますanimals

NSArraysあなたはそのような ものにアクセスできますdictionary[@"animals"] and dictionary[@"citrus"]

これらのリテラルアクセサーもネストできるため dictionary[@"animals"][0]horse.

または配列メソッドを使用する

[dictionary[@"citrus"] count]あなたに与えるだろう2

于 2012-11-18T19:29:14.940 に答える