我遇到了一個問題,即我在cocos2D box2D項目中使用的對象被垃圾覆蓋。調試好位後,我發現,如果下面的行改爲從:我如何確定我的項目是否使用自動引用計數
player = [[[Player alloc] initWithWorld:world atLocation:ccp(playerPositionX, playerPositionY)] autorelease];
到
player = [[Player alloc] initWithWorld:world atLocation:ccp(playerPositionX, playerPositionY)];
然後問題消失。這非常令人困惑,因爲此代碼和基礎類定義或多或少是Learning Cocos2D書中描述的SpaceViking項目的代碼副本。
我想到,也許問題是,當我創建新項目時,我可能已經選擇了自動引用計數選擇,而我可能沒有爲SpaceViking項目完成這項工作。我目前正在使用xcode 4.6,並且無法弄清楚如何確定ARC是否在此項目中使用。我進入構建設置並搜索自動引用計數,但無法找到它。
如何確定我的項目是否使用自動引用計數?
如果你能編譯一個到'autorelease'的調用,那麼你不能使用ARC注意你可以打開/關閉單個文件的ARC – bbum 2013-02-27 16:55:11