ObjC++中的私有方法

3

我需要将一个ObjC的类实现文件重命名为*.mm,因为我正在使用一个C++框架(Box2D)。重命名文件并将文件类型设置为"sourcecode.cpp.objcpp"后,我的私有方法声明产生了一些错误,例如:

错误:在“private”之前预期的标识符

方法的声明:

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

我该如何在ObjC++中使用私有方法的声明?
(注:私有方法即只能在类内部使用的方法。)
2个回答

5

这可能是因为private是C++中的关键字。您可以将其更改为其他名称,如hidden,或将类别名称留空(这称为“类续行”,您可以通过在此文章中搜索了解更多信息)。


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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接