1

私は目的cが初めてです。私はこのようなものを持っていることに興味があります:-キーごとに、次のような複数の値を保存したい:

2 holds a,b,c
3 holds d,e,f

を押す2 3 or 2 3 3と、これらのすべての組み合わせを出力したいのですが6 values.、これには NSMutableDictionary を使用する必要がありますか? アドバイスが必要です!

4

5 に答える 5

5

配列を辞書に格納できます。例えば

NSDictionary *mapping = @{@"2": @[@"a", @"b", @"c"]};

キーを押すたびに、オブジェクトを辞書の配列から中間配列に追加できます

NSMutableArray *values = [NSMutableArray array];
...
// For each time a key is pressed
[values addObjectsFromArray:@[mapping[keyPressed]]];
...

出力を表示する場合は、values 配列内のすべての値のすべての組み合わせを計算します。

于 2013-10-24T13:39:49.317 に答える
3

単一のキーの複数の値を格納するには、次のように辞書キーの値として配列を追加する必要があります。

NSArray *temArray1 = ...// which has value a,b,c
NSArray *temArray2 = ...// which has value d,e,f

この配列を特定のキーの値として追加します。

NSMutableDictionary *temDic = [[NSMutableDictionary alloc] init];
[temDic setValue:temArray1 forKey@"2"];
[temDic setValue:temArray1 forKey@"3"];
NSLog(@"%@", temDic)

上記のコードは、要件に応じて簡単なロジックを説明しており、必要に応じて変更します。

于 2013-10-24T13:34:33.620 に答える
1

これを試してください..

 NSMutableDictionary *dictionary = [NSMutableDictionary dictionary];

    NSArray *aryFlashCardRed=[[NSArray alloc]initWithObjects:@"f1",@"f2",@"f3", nil];

    NSArray *aryFlashCardYellow=[[NSArray alloc]initWithObjects:@"f4",@"f5",@"f6", nil];

    NSArray *aryFlashCardGreen=[[NSArray alloc]initWithObjects:@"f7",@"f8",@"f9", nil];

    NSArray *aryScore=[[NSArray alloc]initWithObjects:@"10",@"20",@"30", nil];

    [dictionary setObject:aryFlashCardRed forKey:@"red"];
    [dictionary setObject:aryFlashCardYellow forKey:@"yellow"];
    [dictionary setObject:aryFlashCardGreen forKey:@"green"];
    [dictionary setObject:aryScore forKey:@"score"];

このように辞書を表示します

{ 緑 = ( f7, f8, f9 ); 赤 = ( f1, f2, f3 ); スコア = (10, 20, 30); 黄色 = ( f4 、 f5 、 f6 ); }

于 2014-08-01T11:44:44.627 に答える
0

Objective-c には 3 種類のコレクションがあります: NSArray、NSSet、NSDictionary (およびそれらの変更可能な等価物)。このコレクションはすべて、オブジェクトのみを格納できます。このコレクションはさまざまなケースに使用されるため、適切なケースを見つけて適切なコレクションを使用してください。

PS私の最初の願いはRTFMを書くことでした

于 2013-10-24T13:38:15.913 に答える