我需要将ObjC类实现文件重命名为* .mm,因为我正在使用 C ++框架(Box2D)。重命名文件并将Filetype设置为“sourcecode.cpp.objcpp”之后,我的以下私有方法声明会产生一些错误,如:
错误:'private'之前的预期标识符
方法声明:
@interface GameplayLayer(private)
- (void)spawnTick:(ccTime)delta;
- (void)pushSpawnTick;
@end
如何在ObjC ++中使用私有方法的声明?
答案 0 :(得分:5)
可能是因为private
是C ++中的关键字。您可以将其更改为hidden
之类的其他内容,也可以将类别名称留空(这称为“课程延续”,您可以read more about it by searching in this article。)
答案 1 :(得分: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