2011-09-05 3 views
0

En tant que développeur iOS novice, j'essaie de comprendre certains concepts liés aux mécanismes de rappel dans iOS. Mon modèle fait des demandes HTTP via NSURLRequest à un service de repos dorsal. Le modèle a plusieurs méthodes qui correspondent aux méthodes du service. NSURLRequest est basé sur le modèle de délégué, ce qui signifie que je reçois un rappel commun pour tous les appels de service. Ensuite, mon modèle doit déterminer à quel appel de service le rappel est associé, afin que je puisse envoyer un événement de mise à jour approprié au contrôleur. Ceci est gênant car je dois maintenir un état som dans le modèle pour me souvenir de l'appel que j'ai fait la dernière fois (ce qui est très peu pratique dans le cas d'une simultanéité), ou interpréter la charge dans la réponse HTTP. Je souhaiterais que NSURLRequest prenne en charge le modèle cible-action, afin que chacune des demandes puisse décider de la méthode de rappel à utiliser. Est-ce possible? Est-ce que j'ai râté quelque chose?NSURLRequest et target-action

Si la cible-action n'est pas disponible dans le framework, quelles sont les meilleures pratiques pour résoudre ce problème?

Répondre

1

La méthode consiste à utiliser NSURLRequest avec NSURLConnection. Si vous extrayez le docs for NSURLConnection, ils vous diront que vous devez implémenter les méthodes de rappel dans le protocole NSURLConnectionDelegate et vous donneront des détails.

Cette page pointe également vers plusieurs exemples, avec un exemple de code.

Vous pouvez également consulter le URL Loading System Programming Guide sur developer.apple.com, qui vous donnera des informations supplémentaires sur la façon dont ces classes sont destinées à être utilisées.