J'ai téléchargé le SDK iOS 5 et constaté qu'ARC est une fonctionnalité intéressante du nouveau compilateur Apple. Pour le moment, de nombreux frameworks tiers ne prennent pas en charge ARC. Puis-je utiliser ARC pour Mon nouveau code et conserver le code de rétention/édition actuel inchangé Le convertisseur ARC ne fonctionne pas ici, car certains frameworks, tels que JSONKit, ne peuvent pas être convertis en ARC à l'aide du convertisseur.
Modifier:
La réponse est d'ajouter -fno-objc-arc
aux indicateurs du compilateur pour les fichiers que vous ne souhaitez pas utiliser ARC. Dans Xcode 4, vous pouvez le faire sous votre cible -> Build Phases -> Compile Sources.
Les documents ARC publics , bien que ce ne soit pas directement clair sur ce point, semblent suggérer que tant que chaque classe est soit entièrement ARC, soit gérée manuellement, les classes peuvent être intégrées dans un seul programme.
Vous ne pouvez pas mélanger ARC et non-ARC dans une seule classe; le document indique que l'envoi de messages retain
, release
, autorelease
ou retainCount
par quelque moyen que ce soit (y compris les minuteries et les exécutions différées utilisant @selector
) est interdit en code ARC. Par conséquent, vous ne pouvez pas utiliser une classe non ARC dans une classe ARC (car les messages nécessaires sont interdits) et vous ne pouvez pas utiliser une classe non ARC dans une classe non ARC (car ARC ajoute des éléments de syntaxe non valides sans ARC).
Le même document est un peu plus clair quant à savoir si vous pouvez intégrer des bibliothèques/frameworks non-ARC dans un programme ARC: Oui. Il ne mentionne pas si vous pouvez utiliser des bibliothèques/frameworks ARC dans un programme où tout votre code est non-ARC, mais étant donné tout ce qui précède, l'implication semble être oui.
Il n’est pas très intuitif de désactiver ARC sur les fichiers MULTIPLES .
Si vous souhaitez désactiver le comptage automatique des références pour certains fichiers, il est très simple de suivre les étapes à suivre. Vous ajoutez des indicateurs de compilateur dans Targets -> Build Phases -> Compile Sources.
Le drapeau utilisé est - fno-objc-arc appuyez sur Entrée après l'avoir écrit.! Vous devez double-cliquer sur la colonne de droite de la ligne sous Drapeaux du compilateur. J'espère que ça aide Merci :)
Il est possible de désactiver ARC pour des fichiers individuels en ajoutant l'indicateur de compilation -fno-objc-arc pour ces fichiers.
Comment puis-je désactiver ARC pour un seul fichier dans un projet?