Je crée une classe de service en Objective-C qui communique avec un serveur HTTP. Je suis familier avec NSURLConnection et les classes associées pour faire une demande asynchrone à un serveur. Jusqu'à présent, j'ai utilisé self
en tant que délégué, répondant aux quatre méthodes de délégué (didReceiveResponse, didReceiveData etc.) requises pour l'appel.Méthode/sélecteur de délégué pour NSURLConnection
La classe de service que je suis en train de créer doit être capable de gérer plusieurs requêtes à la fois et de répondre différemment à chacune d'elles. Je cherche un moyen d'y parvenir, sans un interrupteur sans fin ou if-elseif dans la méthode connectionDidFinishLoading
.
J'ai l'idée de créer une classe déléguée qui implémente les quatre méthodes décrites ci-dessus, et de le donner à l'objet NSURLConnection à qui parler. Toutefois, je souhaite notifier la classe parent lorsque la connexion se termine le chargement et ensuite déclencher une autre méthode dans la classe parente. Et bien sûr, le délégué ne sait pas quelle méthode c'est - cela pourrait être n'importe quoi.
Comment procéder? Est-il possible de définir un sélecteur pour la classe déléguée et de déclencher ce sélecteur (qui est une méthode) lorsque la requête est terminée? Comment est-ce que je fais une telle chose?
(Création d'un délégué pour mon délégué, puis appeler une méthode superclasse pourrait faire l'affaire, mais je suis vraiment dans les méthodes génériques, comme un sélecteur.)
Toute aide est grandement appréciée!
Cordialement,
Reinder