J'ai un contrôleur de vue « MyViewController » qui fait des requêtes HTTP. J'ai défini les délégués de la demande à self
(l'instance de myViewController). Tout fonctionne bien jusqu'à ce que j'écarte myViewController de la pile de navigation avant qu'une demande ne revienne. Dans ce cas, la requête tente d'envoyer un message à myViewController (qui provoque le blocage de mon application).demande HTTP commune motif délégué Objective-c (iOS)
Actuellement, je corrige/corrige ce problème en définissant le délégué de toutes les demandes à nil
dans la méthode dealloc
de myViewController. Quelle est la meilleure façon de faire cela?
Peut-être un singleton pourrait être responsable de traiter toutes les requêtes HTTP?
Cette approche peut fonctionner. Bon à faire attention à ce qui se passe quand une demande est annulée. Par exemple, certaines requêtes peuvent envoyer au contrôleur de vue un message appelant requestCancelled (ou similaire). Pensez qu'il est possible que ce message soit envoyé après que le contrôleur de vue ait été libéré. – MrDatabase
La seule façon de prendre en compte ce message après 'myViewController' est dealloc'd est que les requêtes HTTP rapportent à un autre délégué, tel qu'un objet global ou le délégué de l'application. –