Не удается изменить свойства объектов класса, когда он хранится в массиве, почему бы и нет? - PullRequest
0 голосов
/ 21 мая 2011

По сути, я создаю массив и добавляю в него экземпляры своего пользовательского класса. Но когда я пытаюсь получить доступ к свойствам экземпляров, хранящихся в массиве, я не получаю ответа от класса. Кстати, он работает с обычными экземплярами класса.

//This works:
Laser *myLaser = [[Laser alloc] initWithPosX:100 Y:150 node:self];

myLaser.sprite.rotation = 50; //This changes the sprite¨s (the sprite inside the class) rotation


//This doesnt:

Laser *aLaser = [[Laser alloc] initWithPosX:100 Y:150 node:self];

[Lasers addObject:aLaser]; //Lasers is a NSMutableArray declared in the .h

[aLaser release];

Laser *copyLaser = [Lasers objectAtIndex:0];

copyLaser.sprite.rotation = 50; //For some reason this doesnt work!

Кто-нибудь знает, почему это не работает? Это проблема с использованием NSMutableArray ?, мой класс - NSObject.

1 Ответ

2 голосов
/ 21 мая 2011

Проблема, которую я вижу здесь, состоит в том, что Lasers не инициализируется и здесь равен нулю.

Вы должны инициализировать Lasers где-нибудь (вероятно, непосредственно перед тем, как использовать его или в вашем методе init контроллера представления). Используйте [[NSMutableArray alloc] init].

...