3

C ++フレームワーク(Box2D)を使用しているため、ObjCクラス実装ファイルの名前を*.mmに変更する必要があります。ファイルの名前を変更し、ファイルタイプを「sourcecode.cpp.objcpp」に設定した後、次のプライベートメソッドの宣言により、次のようなエラーが発生します。

エラー:「プライベート」の前に識別子が必要です

メソッドの宣言:

@interface GameplayLayer(private)
 - (void)spawnTick:(ccTime)delta;
 - (void)pushSpawnTick;
@end

ObjC ++でプライベートメソッドの宣言を使用するにはどうすればよいですか?

4

2 に答える 2

5

おそらくprivateC++のキーワードだからです。次のような名前に変更するかhidden、カテゴリ名を空のままにすることができます(これは「クラス継続」と呼ばれ、この記事で検索して詳細を読むことができます)。

于 2010-09-01T13:09:15.010 に答える
3

これは、Obj-Cでプライベートメソッドを宣言する方法です。基本的には、.mに名前のないカテゴリを作成するだけです。これが役立つことを願っています。

//this is A.h

@interface A

- (void) publicMethod1;

@end



//this is A.m

@interface A ()

- (void) privateMethod1;

@end

@implementation A

- (void) publicMethod1
{
    //foo
}

- (void) privateMethod1
{
    //foo
}

@end
于 2010-09-01T13:12:12.053 に答える