3

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

错误:“私人”之前的预期标识符

方法声明:

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

如何在 ObjC++ 中使用私有方法的声明?

4

2 回答 2

5

可能是因为private是 C++ 中的关键字。您可以将其更改为其他类似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 回答