1

我正在尝试 ARC 启用一个项目,但在为 ARC 选择文件时遇到了一些问题。

在 Ball 类中,以下行,

ballBody->SetUserData(self);

给出错误,

Cannot initialize a parameter of type 'void *' with an Ivalue of type 'Ball *const__strong'

在 Enemy.mm 类中,以下行,

enemyBody->SetUserData(enemySprite);

给出错误,

Cannot initialize a parameter of type 'void *' with an Ivalue of type 'CCPhysicsSprite*__strong'

在 Enemy.h 中,我将上述内容定义为:

b2Body* enemyBody;
CCPhysicsSprite* enemySprite; (in Enemy.m)

我该如何解决这些问题?

4

1 回答 1

2

桥梁铸造:

ballBody->SetUserData((__bridge void*)self);
enemyBody->SetUserData((__bridge void*)enemySprite);

反之亦然:

CCPhysicsSprite* enemySprite = (__bridge CCPhysicsSprite*)enemyBody->GetUserData();
于 2013-10-27T20:42:09.503 回答