我的类中有一个名为Enemy的名为addEnemy的方法,我想在另一个名为EnemyLayer的类中调用此方法。我会使用[Enemy addEnemy];
,但它不是静态方法(-(void)addEnemy
)。我怎么能这样做?
答案 0 :(得分:0)
在Enemy下对EnemyLayer进行细分? 尝试更具体地解决您的问题。
答案 1 :(得分:0)
您必须先将Enemy.h
文件导入EnemyLayer
文件。然后,在Enemy
文件中创建EnemyLayer
类的实例。然后,您可以在该实例上调用addEnemy
方法:
[instanceOfEnemyClass addEnemy];
(在您的示例中,您尝试在整个Enemy
类上调用该方法,但它不是类方法,因此您必须在该类的实例上调用它。)
答案 2 :(得分:0)
您需要显示更多代码。你的问题很混乱。
我想你想知道如何制作一个类似这样的类方法:
+ (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];