Проверка загрузки NSURL выполнена

Я ищу завершение или завершение в NSURL -> NSstring initWithContentsOfUrl

Я нашел URLResourceDidFinishLoading, но, похоже, он устарел.

Я ничего не нашел, но, возможно, я искал не ту вещь.


person Alex Milde    schedule 18.05.2010    source источник


Ответы (1)


Если вы говорите о -initWithContentsOfURL: из NSString, то это устарело.

Но даже если вы его используете, это синхронный метод, то есть ваш код остановится до тех пор, пока данные не будут загружены в результирующий объект NSString:

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

Итак, для ясности: это плохая практика по двум причинам:

  1. Вы используете устаревший метод, который, скорее всего, будет удален в будущих версиях SDK, и;
  2. Вы замораживаете свой пользовательский интерфейс, загружая что-то из сети, не давая никакой обратной связи пользователю.

Вероятно, вам нужно NSURLRequest для создания объекта запроса и NSURLConnection, чтобы фактически загрузить его из сети.

person leolobato    schedule 18.05.2010
comment
спасибо, приятно знать. я не видел, чтобы initWithContentsOfURL также устарел, именно то, что я ищу. - person Alex Milde; 19.05.2010