Если предположить, что упомянутые вами классы "персона" и классы "игрок" - это одно и то же, этот код:
Player *object = nil;
CCSprite *bow;
bow = [object bow];
собирается установить bow
на nil
. Вы не инициализировали object
, поэтому любые вызванные методы вернут nil
.
Где-то в вашем коде вам нужно следующее:
Player *object = [[Player alloc] init];
Трудно сказать, где без контекста, но если вы отправляете сообщения объекту, вам нужен действительный экземпляр этого. Вы не говорите, как связаны класс лучника и класс игрока.