Question

J'ai écrit une application iOS qui appelle NSURLConnection plusieurs fois à des données d'image de téléchargement à partir du Web. Parfois, on n'a pas fini NSURLConnection avant l'autre commence. Je vois des données corrompues jpeg et je pense qu'il est parce que mon délégué didReceiveData sauvegarde des données de deux NSUrlConnections séparées et munging les deux données jpeg flux en une seule variable de données, ce qui provoque donc la corruption.

Ma question est: quelle est la meilleure façon d'éviter cela? Il ne semble pas être un moyen de rendre chaque instance NSURLConnection sauvegarde à une variable de données séparée, ou faire de chaque attente d'instance jusqu'à ce que l'instance précédente se fait avant d'enregistrer.

Mon code suit essentiellement l'exemple d'Apple ici que j'appelle une fonction loadData plusieurs fois ce qui crée le NSURLRequest et NSURLConnection. http://developer.apple.com/ bibliothèque / mac / # documentation / cacao / conceptuel / URLLoadingSystem / Tâches / UsingNSURLConnection.html

Merci d'avance pour toute aide.

Était-ce utile?

La solution

Lorsque la connexion de votre délégué: didReceiveData: méthode est appelée, vous aurez l'instance de connexion comme premier paramètre. Donc, vous devrez utiliser pour garder une trace des données connexion vient de recevoir.

échantillon d'Apple maintient une instance de NSMutableData. Votre code exigera plusieurs instances, un pour chaque connexion active.

Ou, bien sûr, vous pourriez avoir un objet séparé délégué (une instance individuelle) pour chaque connexion. Cela peut être plus facile.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top