2010-07-11 145 views
0

比方说,我有几行代码来阐明给定的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; 

我想建立一个参考变量(在PHP & $ VARNAME)为这个庞大的数组索引指定在Obj-C中变量。做这个的最好方式是什么?

回答

2

只需使用一个指针:

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.