【发布时间】:2013-05-22 14:06:52
【问题描述】:
我正在通过翻译一些我为 Android 游戏编写的 Java 代码来完成我在 Objective-c 中的第一步(在很久很久之后)。似乎没有容器可以接收对象,而不先将其转换为id?或者有吗?
具体来说,这是我正在尝试使用的代码:
NSMutableArray *touchedBodies = [[NSMutableArray alloc] init];
// some additional code
if(![touchedBodies containsObject:(id)body]) {
[touchedBodies addObject:(id)body];
}
containsObject 行通过正常,但在touchedBodies addObject:(id)b 上我收到“错误访问”错误。我要添加的主体是合法的 Box2D b2Body。
当我尝试直接添加主体而不强制转换时:
[touchedBodies addObject:body];
编译器报错“无法使用 b2Body* 类型的左值初始化 id 类型的参数”
我错过了什么?
【问题讨论】:
-
应该可以的。在上面写着
// some additional code的地方你还有什么?
标签: objective-c nsmutablearray