Objective-C: ARC interdit l'envoi explicite de message de 'retain'
Je suis nouveau sur Objective-C, j'essaie de port un vieux Objective-C projet écrit dans une version antérieure de l'Objective-C pour le nouveau, mais j'obtiens l'erreur suivante compilateur:
ARC forbids explicit message send of 'retain'
in
color = [aColor retain];
or
color = [[NSColor blackColor] retain];
Je lisais à propos de la nouvelle automatique de comptage de référence qui clang est à l'aide maintenant.
J'ai aussi essayé d'utiliser Xcode de refactoriser le code de la fonction, mais avec pas de chance...
Qu'est-ce que le bon code Objective-C qui ont besoin de remplacer ce vieux code?
source d'informationauteur user63898 | 2013-01-22
Vous devez vous connecter pour publier un commentaire.
Simplement:
ARC gérer la durée de vie de vos objets de sorte que vous n'avez pas besoin
release
retain
ouautorelease
plus.Le principal avantage de l'ARC est le compilateur va effacer les références de tous les objets automatiquement que vous avez créé dans vos projets. Donc, Il n'est pas nécessaire de conserver, de presse, de & autorelease. Mais certains cas, nous voulons la libération de nos fichiers en particulier de l'ARC. Pour libérer votre projet à partir de l'ARC dans xcode. Veuillez suivre les étapes suivantes.
Cet indicateur va libérer ce fichier particulier à partir de l'ARC de votre Compilateur dans xcode.
J'espère que cela va vous aider pour tous vos projets.
Seulement supprimer les conserver, donc:
À l'ARC, vous ne pouvez pas utiliser
retain
release
autorelease
comme il le fait pour vous.