2012-02-22 3 views
2

У меня есть объект UIImageView, который я пытаюсь получить координату x. Я делаю это с кодом нижеПолучение координат x, y для объектов в массиве

endingPoint.x = myObject.center.x; 

Теперь, как я могу это сделать, если у меня есть один и то же UIImageView внутри массива, который я пытаюсь перебрать и получить й каждый объект координаты, некоторые вещи, как ниже?

endingPoint.x = [posArray objectAtIndex:i].center.x; 

Я знаю, что это вопрос новичков, но я только начинаю с iOS.

+0

Самый лучший способ «испытание сам". Для новичка лучше всего практиковать, проверяйте, сделайте некоторое кодирование. – LebRon

ответ

1

Вы очень близки. objectAtIndex: однако возвращает объекты типа id (общий указатель на что угодно), поэтому вы не можете позвонить .center (свойство) на нем.

Вы должны послать ему сообщение, используя символы скобки, как это:

endingPoint.x = [[posArray objectAtIndex:i] center].x; 

или отливать значение, (UIImageView *) первый:

endingPoint.x = ((UIImageView *)[posArray objectAtIndex:i]).center.x; 
1

Это было бы сделано внутри цикла for, очевидно. Вы можете сделать это либо в цикле быстрого перечисления Objective-C, либо в стандартном для цикла.

Быстрая петля перечисления будет выглядеть примерно так.

for (UIImageView *image in posArray) { 
    endingPoint.x = image.center.x; 
    // Do everything else you want to do with the UIImageView inside the array. 
} 
1

Это внутри цикла должно работать:

endingPoint.x = [[posArray objectAtIndex:i] center].x; 
+0

спасибо, вот что я искал –

1

попробовать

endingPoint.x = [[posArray objectAtIndex:i] center].x; 

или

endingPoint.x = ((UIImageView *)[posArray objectAtIndex:i]).center.x; 
+0

спасибо, ребята, все те скобки и квадратные скобки настолько запутывают новичка :( –

Смежные вопросы