2010-07-11 3 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; 

я хотел установить эталонную переменную (& $ VarName в PHP) для этого огромного массива индекса указано переменная в 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.