Ce code est assez simple, est-il correct? Je ne sais pas si je devrais garder le délégué transmis via la méthode init. Ma première pensée est non, cependant ce bit de code semble indiquer autrement. Je sais que je ne peux pas compter sur les comptes de retenue, mais j'aimerais savoir la bonne façon de traiter avec les délégués.Question sur les délégués
// self's retain count is 1
NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:req delegate:self];
// the retain count is now 2, did the init of URLConnection retain self?
NSURLConnection est un peu un cas particulier. Ce n'est pas tellement qu'il conserve le délégué, mais qu'il le conserve pendant la durée de la connexion, puisque la seule façon d'arrêter de recevoir des messages de délégué est d'annuler la connexion. c'est-à-dire que normalement on ne conserve pas de délégué, et le comportement de NSURLConnection comme ceci est un détail d'implémentation; pas quelque chose que vous devriez compter ou généralement imiter. En outre, il est inhabituel d'avoir un délégué _class_. Normalement, vous déclarez un protocole de délégué. –
Merci Mike, ça explique ce que je vois. – Jab