J'ai rencontré un problème lorsqu'un objet que j'utilise dans un projet cocos2D box2D est écrasé par des déchets. Après un bon morceau de débogage, j'ai trouvé que si la ligne suivante a été changé de:comment puis-je déterminer si mon projet utilise le comptage automatique des références?
player = [[[Player alloc] initWithWorld:world atLocation:ccp(playerPositionX, playerPositionY)] autorelease];
à
player = [[Player alloc] initWithWorld:world atLocation:ccp(playerPositionX, playerPositionY)];
alors le problème disparaît. Ceci est très déroutant car ce code et la définition de classe sous-jacente sont plus ou moins une copie du code du projet SpaceViking décrit dans le livre Learning Cocos2D. Il m'est apparu que le problème est peut-être que lorsque j'ai créé le nouveau projet, j'ai peut-être laissé le choix pour le comptage automatique des références sélectionné, alors que je n'ai peut-être pas fait cela pour le projet SpaceViking. J'utilise actuellement xcode 4.6 et je n'arrive pas à comprendre comment déterminer si ARC est utilisé dans ce projet. Je suis allé aux paramètres de construction et j'ai cherché le comptage automatique des références, mais je n'ai pas pu le trouver.
Comment puis-je déterminer si mon projet utilise le comptage automatique des références?
Vous ne pouvez pas utiliser ARC si vous êtes capable de compiler un appel à 'autorelease' Notez que vous pouvez activer/désactiver l'ARC pour des fichiers individuels – bbum