私は目的cが初めてです。私はこのようなものを持っていることに興味があります:-キーごとに、次のような複数の値を保存したい:
2 holds a,b,c
3 holds d,e,f
を押す2 3 or 2 3 3
と、これらのすべての組み合わせを出力したいのですが6 values.
、これには NSMutableDictionary を使用する必要がありますか? アドバイスが必要です!
私は目的cが初めてです。私はこのようなものを持っていることに興味があります:-キーごとに、次のような複数の値を保存したい:
2 holds a,b,c
3 holds d,e,f
を押す2 3 or 2 3 3
と、これらのすべての組み合わせを出力したいのですが6 values.
、これには NSMutableDictionary を使用する必要がありますか? アドバイスが必要です!
配列を辞書に格納できます。例えば
NSDictionary *mapping = @{@"2": @[@"a", @"b", @"c"]};
キーを押すたびに、オブジェクトを辞書の配列から中間配列に追加できます
NSMutableArray *values = [NSMutableArray array];
...
// For each time a key is pressed
[values addObjectsFromArray:@[mapping[keyPressed]]];
...
出力を表示する場合は、values 配列内のすべての値のすべての組み合わせを計算します。
単一のキーの複数の値を格納するには、次のように辞書キーの値として配列を追加する必要があります。
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)
上記のコードは、要件に応じて簡単なロジックを説明しており、必要に応じて変更します。
これを試してください..
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 ); }
Objective-c には 3 種類のコレクションがあります: NSArray、NSSet、NSDictionary (およびそれらの変更可能な等価物)。このコレクションはすべて、オブジェクトのみを格納できます。このコレクションはさまざまなケースに使用されるため、適切なケースを見つけて適切なコレクションを使用してください。
PS私の最初の願いはRTFMを書くことでした