Любой способ добавить свойство к объекту, полученному из [array objectAtIndex:]? - PullRequest
0 голосов
/ 10 августа 2011

Я заранее прошу прощения, если мои вопросы кажутся неясными.

По сути, я хотел установить значение тега для массива объектов, используя цикл for.

for   (int j = 0; j < [array count]; j++) {

[array objectAtIndex:j].tag = j;

} 

Есть ли что-то подобное, что я могу сделать?

Ответы [ 2 ]

1 голос
/ 10 августа 2011

Еще один способ сделать это:

int counter = 0;
for (UIView* view in array)
  view.tag = counter++;
0 голосов
/ 10 августа 2011

Предполагая, что все объекты в array являются подклассом UIView:

for (int j = 0; j < [array count]; j++] {
    UIView *tmpView = (UIView *)[array objectAtIndex:j];
    tmpView.tag = j;
}

objectAtIndex возвращает указатель на объект, а не новую копию объекта. Таким образом, все, что было изменено с помощью возвращенного указателя, будет отражено в исходном объекте массива.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...