2010-01-20 4 views
4

La documentation de NSURLConnection dit qu'il existe des méthodes de délégués commeOù est le protocole NSURLConnection?

connection:willSendRequest:redirectResponse: 

Mais la documentation ne mentionne pas le protocole délégué à mettre en œuvre. Eh bien, je suppose qu'il n'y a tout simplement pas de protocole pour le délégué, donc tout est juste optionnel?

Répondre

13

Il est un informal protocol mis en œuvre dans NSURLConnection.h en tant que catégorie sur NSObject:

@interface NSObject (NSURLConnectionDelegate) 

Cela signifie que toute sous-classe de NSObject peut être un délégué pour NSURLConnection. Oui, toutes les méthodes de délégué sont facultatives.

+5

Pour quiconque lira cette réponse dans le futur: [NSURLConnectionDelegate] (http://developer.apple.com/library/mac/#documentation/Foundation/Reference/NSURLConnectionDelegate_Protocol/Reference/Reference.html#//apple_ref/occ/intf/NSURLConnectionDelegate) est un protocole formel à partir de Mac OS X 10.7 (Lion). – jtbandes

0

Il n'y en a pas, et bien qu'il devrait probablement être complet, il est inutile. Objective-C fonctionne sur un concept appelé Duck typing qui signifie que s'il y a une méthode sur un objet, même s'il ne fait pas partie d'un protocole ou d'une définition d'en-tête, un message peut toujours lui être envoyé.