我正在尝试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)
我该如何解决这些问题?
答案 0 :(得分:2)
桥梁铸造:
ballBody->SetUserData((__bridge void*)self);
enemyBody->SetUserData((__bridge void*)enemySprite);
反之亦然:
CCPhysicsSprite* enemySprite = (__bridge CCPhysicsSprite*)enemyBody->GetUserData();