我遇到了一个问题,我在 cocos2D box2D 项目中使用的对象被垃圾覆盖。经过一番调试后,我发现如果以下行更改为:
player = [[[Player alloc] initWithWorld:world atLocation:ccp(playerPositionX, playerPositionY)] autorelease];
至
player = [[Player alloc] initWithWorld:world atLocation:ccp(playerPositionX, playerPositionY)];
然后问题就消失了。这非常令人困惑,因为此代码和底层类定义或多或少是学习 Cocos2D 书中描述的 SpaceViking 项目的代码副本。
我突然想到,问题可能是当我创建新项目时,我可能选择了自动引用计数,而我可能没有为 SpaceViking 项目选择。我目前正在使用 xcode 4.6,无法弄清楚如何确定该项目中是否使用了 ARC。我去构建设置并搜索自动引用计数,但找不到它。
如何确定我的项目是否使用自动引用计数?