Je dois appeler une méthode qui commence un code asynchroneObjective-C: Comment utiliser managment mémoire correctement pour les méthodes asynchrones
MyClass* myClass = [[MyClass alloc] init];
[myClass startAsynchronousCode];
Maintenant, je ne peux pas simplement libérer car cela provoquerait une erreur puisque le code est en cours d'exécution:
[myClass release]; // causes an error
Quelle est la meilleure façon de gérer la mémoire?
Quand méthode « MyCallBack » se termine wont l'exécution du retour de code à la fin de la méthode qui a appelé le rappel: « startAsynchronousCode 'qui vient d'être relesed? – Robert
Oui, c'est pourquoi il est important que vous ayez terminé avant d'appeler le rappel. Vous n'obtiendrez aucune violation d'accès, sauf si vous vous référez à soi après le rappel. –
Je pense que vous demandez "comment startAsynchronousCode est asynchrone?" dans ton commentaire? L'idiome ci-dessus est destiné à lorsque vous créez un thread et exécutez startAsynchronousCode à partir de ce nouveau thread. –