参照変数を別の変数/ UILabel変数に設定するにはどうすればよいですか?

cocoa cocoa-touch objective-c
参照変数を別の変数/ UILabel変数に設定するにはどうすればよいですか?

与えられたUILabel変数の特定の設定を明確にするコードの行がいくつかあるとしましょう:

numberMarkings[selectedBoxX][selectedBoxY][selectedSquareX][selectedSquareY][selectedNoteX][selectedNoteY].text = @"derp";
numberMarkings[selectedBoxX][selectedBoxY][selectedSquareX][selectedSquareY][selectedNoteX][selectedNoteY].center.x = 5;
numberMarkings[selectedBoxX][selectedBoxY][selectedSquareX][selectedSquareY][selectedNoteX][selectedNoteY].center.y = 3;

Obj-Cのこの大規模な配列インデックスで指定された変数の参照変数(PHPでは&$ varname)を設定したいと思います。 これを行うための最良の方法は何ですか?

  0  0


ベストアンサー

ポインタを使用するだけです:

UILabel* label = numberMarkings[selectedBoxX][selectedBoxY][selectedSquareX][selectedSquareY][selectedNoteX][selectedNoteY];
label.text = @"derp";
label.center.x = 5;
label.center.y = 3;

配列に書き込みを行っていないので、それ以上の凝ったものは必要ありません。 配列の値を上書きする場合、ポインターへのポインターを使用できます。

UILabel** label_in_array = &numberMarkings[selectedBoxX]/* ... */[selectedNoteY];
// Write to the label
UILabel* label = *label_in_array;
label.text = @"derp";
// Write to the array
[label release];
*label_in_array = [[UILabel alloc] init]; // Now numberMarkings[][][...][]
                                          // holds a new uilabel object.

2


タイトルとURLをコピーしました