Вызов статического метода из другого класса (cocos2d iPhone) - PullRequest
0 голосов
/ 20 августа 2011

В моем классе есть метод addEnemy Enemy, и я хочу вызвать этот метод в другом классе EnemyLayer.Я бы использовал [Enemy addEnemy];, но это не статический метод (-(void)addEnemy).Как я могу это сделать?

Ответы [ 3 ]

0 голосов
/ 20 августа 2011

Сначала необходимо импортировать файл Enemy.h в файл EnemyLayer.Затем создайте экземпляр класса Enemy в вашем файле EnemyLayer.Затем вы можете вызвать метод addEnemy для этого экземпляра:

[instanceOfEnemyClass addEnemy];

(в вашем примере вы пытались вызвать метод всего класса Enemy, но это не метод класса,Вы должны вызвать его в экземпляре этого класса.)

0 голосов
/ 20 августа 2011

Вам нужно показать больше кода. Ваш вопрос сбивает с толку.

Я думаю, вы хотите знать, как создать метод класса, который делается так:

+ (void) fooMethod
{
  // Do stuff
}

Этот метод вызывается не для экземпляра класса, а для самого класса. Поэтому:

// Instance declaration
// The class is named FooClass and the instance of the class is _fooInstance
FooClass *_fooInstance;

// This will not work as it is calling for a 
// instance method which does not exist.
[_fooInstance fooMethod];

// This will work as it is calling for a class
// method which does exist.
[FooClass fooMethod];
0 голосов
/ 20 августа 2011

Подкласс EnemyLayer под врагом? Постарайтесь более конкретно ответить на ваш вопрос.

...