0

レイヤーからメソッドを呼び出そうとしています。問題のメソッドは、そのレイヤーの親にあります。

例:

「Survival」は私のシーンの名前です 「SSpriteLayer」は私のレイヤーの名前です

SSpriteLayer.m

//this id not my actual method, just a simplified version
-(void) spritePick {
[scene initSpritePick];
NSLog(@"sent");
{

SSpriteLayer.h

#import Survival 
@interface SSpriteLayer : CCLayer {
Survival *scene;
}

サバイバル.m

- (void) initSpritePick {
NSLog(@"test");
}

テキスト「テスト」はログに表示されませんが、私のレイヤーのメソッドが呼び出されます。問題は、メソッドの呼び出しが送信されても​​、メソッドが見つからず、何も起こらないことです。エラーメッセージは表示されません。

私はこれを行うために私が知っているあらゆる方法を試しました。そのため、いくつかの提案をしたり、問題を指摘したりできます。

4

2 に答える 2

1

多分これは[(ParentClassName *)[self parent] functionName];

于 2012-04-17T07:30:13.203 に答える
0
 Try using Class Method it will work 

Example:

"Survival" is the name of my scene "SSpriteLayer" is the name of my layer

**SSpriteLayer.m**

//this id not my actual method, just a simplified version
-(void) spritePick 
 {
    [Survival initSpritePick];
    NSLog(@"sent");
    {
    }


**SSpriteLayer.h**

#import Survival 
@interface SSpriteLayer : CCLayer {
  Survival *scene;
}

**Survival.m**

  + (void) initSpritePick
  {
      NSLog(@"test");
 }

Regards, Neil.

于 2012-04-17T04:49:57.807 に答える