如何将参考变量设置为另一个变量/ UILabel变量?
问题描述:
比方说,我有几行代码来阐明给定的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中变量。做这个的最好方式是什么?
答
只需使用一个指针:
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.