2010-05-18 4 views
0

Je suis à la recherche d'un « fait fini ou fini » chose NSURL -> NSString initWithContentsOfUrlVérification de la charge NSURL fait

je l'ai trouvé « URLResourceDidFinishLoading » mais cela semble être amorti

Je ne pourrais pas » Je n'en trouve pas, mais peut-être que je me suis trompé pour la mauvaise chose.

Merci à l'avance Alex

Répondre

1

Si vous parlez -initWithContentsOfURL: de NSString, il a été deprecated.

Mais même si vous utilisez, il est une méthode synchrone - ce qui signifie votre code arrêtera jusqu'à ce que les données ont été chargées dans l'objet NSString résultant:

NSURL *url = [NSURL URLWithString:@"http://google.com"]; 
NSString *htmlData = [NSString stringWithContentsOfURL:url]; 
NSLog(@"%@", htmlData); // you have your data loaded here, synchronously. 

Donc, pour être clair: c'est une mauvaise pratique pour deux raisons:

  1. Vous utilisez une méthode désapprouvée qui sera supprimé le plus probable sur les futures versions du SDK, et;
  2. Vous bloquez votre interface utilisateur lorsque vous chargez quelque chose à partir du réseau, tout en ne donnant aucun retour à l'utilisateur, quel qu'il soit.

Qu'est-ce que vous avez besoin est probablement NSURLRequest pour créer votre objet de requête et NSURLConnection pour charger réellement du réseau.

+0

merci, bon à savoir. je n'ai pas vu que "initWithContentsOfURL" a également été obsolète exactement ce que je cherche. –