J'essaie de créer une simple image d'animation dans l'iPhone à partir d'un tableau d'images:
- (void)viewDidLoad {
NSArray *imageArray;
imageArray = [[NSArray alloc] initWithObjects:
[UIImage imageNamed:@"Sun1"],
[UIImage imageNamed:@"Sun2"],
nil];
fadeImage.animationImages = imageArray;
fadeImage.animationDuration = 1;
[imageArray release]; //==== HERE IS WHERE I GET THE ERROR ======
Comment puis-je réparer cela?
Solution n ° 1:
Supprimez simplement la déclaration de version. ARC s'en chargera pour vous.
[imageArray release]; // remove this line
ARC est le comptage de référence automatique. Contrairement au comptage manuel des références.
Il y a quelques excellentes vidéos de discussions de la WWDC. Je peux fournir le lien si vous souhaitez les regarder.
Dans Transition vers ARC Release Notes , voir ARC applique de nouvelles règles:
Vous ne pouvez pas invoquer explicitement dealloc, ni implémenter ou appeler keep, release , retentionCount ou autorelease.
L'interdiction s'étend à l'utilisation de @selector (conserver), @selector (libérer), etc.
Solution n ° 2:
Si vous ne souhaitez pas convertir le code en ARC (par exemple, vous n'écrivez pas une nouvelle application, mais en conservez une ancienne/ou vous avez importé tellement de code que le passage à ARC ne vaut pas la peine), vous pouvez désactiver ARC.
Désactivation d'ARC pour les fichiers sélectionnés Pour désactiver ARC, vous pouvez utiliser le -fno-objc-arc
drapeau du compilateur pour des fichiers spécifiques. Sélectionnez la cible et accédez à Build Phases
-> Compile Sources
. Modifiez le Compiler Flags
et ajouter -fno-objc-arc
Désactivation de l'ARC pour le projet
Source: Comment désactiver le comptage automatique des références Xcode4.2