2011-01-15 12 views
1

次の問題を解決する方法を知りたいと思います。値のペアに基づいて1つの値にアクセスする必要があります。値0と1のために私は3を、4と5は2を得たいと思っています。 私は3次元配列を宣言することを考えていました。これを達成するためのより良い方法はありますか?そうでない場合、ObjectiveCで3d配列を宣言するにはどうすればよいですか?ObjectiveCで3次元配列を宣言して使用する方法は?

ありがとうございます!

答えて

2

(トリプルではなく)値のペアに基づいて結果を表示するには、2D配列が必要です。

通常、2D配列は単なる配列の配列です。配列にアクセスするために、次に

NSArray* yCoord1 = [NSArray arrayWithObjects:@"oneValue", @"secondValue", nil]; 
NSArray* yCoord2 = [NSArray arrayWithObject:@"thirdValue"]; 

NSArray* array = [NSArray arrayWithObjects:yCoord1,yCoord2,nil]; 

:あなたがobj-CのNSArrayのオブジェクトを使用したい場合は、このような何かをただやるだろう

NSUInteger xCoord = 0; 
NSUInteger yCoord = 1; 

[[array objectAtIndex:xCoord] objectAtIndex:yCoord]; //Result: @"secondValue" 

それはプレーンなC配列を使用することも可能ですこの方法では;あなたがそれを望むならば、たくさんのチュートリアルのためのGoogleの「2D C配列」。

1

ほとんどのまたはすべてのペアに値を設定し、整数値のみを格納する場合(実際の例のように)、実際のC配列はニーズに最も適しています。あなたが探しているものを得るための3D配列。

疎なデータセットの場合は、2つのキー値を連結して「1-Firstval; 2-SecondVal」のようなものにして、あなたの数字を保持するとNSDictionaryで探しています。それでは、たくさんのメモリを使わずに高速検索ができます。

+0

ありがとうございます!あなたの答えは間違いなく非常に良いですが、andyvn22の答えは私のニーズに合っています。 – Jakub

関連する問題