Как я могу добавить UIImageView объектов в массиве к представлению? - PullRequest
0 голосов
/ 01 июля 2011

У меня есть два объекта, один называется CollidableController, а другой - Collidable.Контроллер Collidable создает Collidables и добавляет их в массив (который в данном случае действует как очередь), но я пытаюсь добавить UIImageView Collidable в текущий View.Он отлично работает, прежде чем добавить его в массив, но я не могу добавить тот, который находится в массиве

 Collidable  *collidable = [[Collidable alloc] init:0];

[leftMovingBytesQueue enqueue:collidable];
//used a category to add this to NSMutableArray so it can act as a queue, this adds the 'collidable' object to the end of the array

[view addSubview:collidable.spriteImage];
collidable.spriteImage.center=CGPointMake(200, 200);
//adding the original collidable object's uiimageview to a view works fine

int length=[leftMovingBytesQueue count]-1;

[view addSubView:[leftMovingBytesQueue objectAtIndex:length].spriteImage];
 //this line doesn't work, I get the error Semantic Issue: Property 'spriteImage' not found on object of type 'id'

Ответы [ 3 ]

1 голос
/ 01 июля 2011

Используйте «addSubview», а не «addSubView».Следите за строчными буквами «v».Попробуйте это:

Collidable  *collidableObj=(Collidable*)[leftMovingBytesQueue objectAtIndex:0];
UIImageView* imView=collidableObj.spriteImage; //just checking
[view addSubview:imView];

Вы ставите объект столкновения в тупик.попробуйте с [leftMovingBytesQueue objectAtIndex: 0].Последний элемент массива может быть не тем, что вы хотите.

1 голос
/ 01 июля 2011
[view addSubView:[[leftMovingBytesQueue objectAtIndex:length] spriteImage]];

Это должно сделать компилятор счастливым.

0 голосов
/ 01 июля 2011

Попробуйте привести объект в свой пользовательский класс:

[view addSubView:(Collidable*)[leftMovingBytesQueue objectAtIndex:length].spriteImage];
...