2011-08-03 7 views
0

ここでObjective-Cの初心者...Objective-Cで多次元ルックアップテーブルを作成するにはどうすればよいですか?

関連する値を調べるために使用するキーとして、固有の文字列コードがあります。

NSDictionaryは私が探しているようですが、これは特定のキーの値を検索するためにのみ使用されると考えています。

多次元の不変のNSDictionaryの宣言/記入方法に関するコードは誰でも提供できますか?また、値を取得するコードですか?

また、あなたが望む任意のオブジェクトがNSDictionaryで指定されたキーの値とすることができます

おかげ

答えて

1

EDIT:辞書内の配列の例....コメントのサンプルデータを使用しています。

NSMutableDictionary *myDictionary = [[NSMutableDictionary alloc] init]; 
NSArray *firstSet = [[NSArray alloc] initWithObjects:43, 22]; 
NSArray *secondSet = [[NSArray alloc] initWithObjects:32, 50]; 

[myDictionary setValue:firstSet forKey:@"010"]; 
[myDictionary setValue:secondSet forKey:@"011"]; 

// Get a value out - should be the 50 that you want 
NSInteger *myValue = [[myDictionary objectForKey:@"011"] objectAtIndex:1]; 

テストされていませんが、95%の権利が必要です。これは理にかなっていますか?ネストされたNSDictionariesまたはカスタムKVC-準拠のクラスの場合

+0

ええと、残念ながら私はそれを働かせることはできません。あなたは実際の価値を提供することができますか?フォーマットが[ユニコード、パーセンテージ1、パーセンテージ2]であり、エントリ1が[010,43,22]である場合、エントリ2は[011,32,50]ですか?次に、2番目のエントリから50を得る方法を示します。これがあまりにも多くのことを尋ねている場合私は理解しています – sayguh

+0

私の例は辞書の中に辞書を埋め込んでいるので、50で取得するには2つのキーが必要です - それはあなたの '多次元辞書'に答える私の試みです。今あなたはもう少しあなたの問題を説明しました、私は質問があります。あなたは辞書に格納された配列としてあなたの例を行うことができます。私はこの例に言い換えるつもりです。 – iandotkelly

+0

@sayguh - 例を更新しました。これに時間がかかりすぎることを心配している場合は、心配しないでください。しかし、それがあなたを助けるならば、答えをアップヴォートしたり、受け入れたりすることを忘れないでください。これは、ここで人々の報酬をどのように助けてくれるのかです。もしあなたがそれをやりなまれば、人々は気づき、答えの質問を止めるでしょう。喜んで助けてください。 – iandotkelly

1

私はこのことについてつもり間違った方法を教えてください。これには、NSArrayまたはさらに別のNSDictionaryが含まれます。これらのいずれかを使用すると、複数の値を1つのキーに関連付けることができます。

+0

はい、私は思ったので、私はこれについて良いコードサンプルを見つけることができないようです。とにかく1つを提供することができますか? – sayguh

1

あなたはkeyPaths、およびネストされたNSArraysindexPathsのために使用することができます。

また、stackoverflowは多くの例を示します。

関連する問題