objective-C、XCODE,今日のエラー、Instance variable

objective-C、XCODE,今日のエラー、Instance variable

Instance variable ‘helpSprite’ accessed in class method

インスタンス変数を使ってクラスメソッドにアクセスしているからやめなさい。

Help.hに宣言したhelpSpriteをHelp.mのクラスメソッド(+)で使ってエラー

・変更前、エラー

[c]
CCSprite *helpSprite

+(CCScene*)scene{
CCScene *scene=[CCScene node];
helpSprite=[CCSprite spriteWithFile:@"helpView.png"];//ERR HERE
Help *layer=[Help node];//Help class
[layer addChild:helpSprite z:3];
[scene addChild:layer];
return scene;

}
[/c]

インスタンスメソッド(−)ではインスタンス変数が利用できますが、クラスメソッドでは使用できないので、内部で宣言します。

・変更後

[c]
+(CCScene*)scene{
CCScene *scene=[CCScene node];
CCSprite *helpSprite=[CCSprite spriteWithFile:@"helpView.png"];
Help *layer=[Help node];//Help class
[layer addChild:helpSprite z:3];
[scene addChild:layer];
return scene;

}
[/c]

Unityのエラー対処法

ゲームフレームワークUnity

Unity

エラー対処法、スマートフォンアプリ開発、Unity4.5.5、C#スクリプトエラー対処法

こちらの記事もどうぞ