Как установить время ожидания в NSURLRequest в iphone - PullRequest
9 голосов
/ 11 января 2011

Я пытаюсь отключить или прекратить загрузку запроса URL через 15 секунд, когда отключено интернет-соединение.я попытался с setTimeoutInterval в NSURLRequest, который не работает.Может кто-нибудь знает, как решить проблему?

Ответы [ 2 ]

14 голосов
/ 11 января 2011

Вот пример для вас:

NSURLRequest *lRequest = [NSURLRequest requestWithURL:[NSURL URLWithString:link]         
               cachePolicy:NSURLRequestUseProtocolCachePolicy  
               timeoutInterval:20.0];

Здесь у вас есть 20-секундный интервал ожидания.

2 голосов
/ 22 июня 2012

Из того, что я испытал, этот пример от Олега работать не будет. Я полагаю, что вы столкнулись с той же проблемой, что и я, и из того, что я читал в Интернете, возможно, это решение подойдет и вам.

Используя NSTimer, установите таймер для запуска в методе делегирования webViewDidStartLoad, а затем убедитесь, что у вас есть счетчики в методах webViewDidFinishLoad и webViewDidStarLoad, чтобы проверить, был ли загружен webView (это уродливый хак, но если вы не используете JavaScript, чтобы проверить количество элементов на вашей странице, на самом деле нет никакого способа узнать, сколько раз будут вызваны эти 2 метода).

После этого выполните проверку счетчиков в методе, который вы используете после того, как таймер достиг своего времени, и это должно сработать.

Код NSTimer здесь -> http://www.iphonedevsdk.com/forum/iphone-sdk-development/14403-nstimer-examples.html

Надеюсь, это поможет, это помогло мне. Хотя я знаю, что есть недостатки, это работает для меня, так как я загружаю заставку, которая должна быть легкой в ​​первую очередь. Я все еще ищу решения, но буду публиковать здесь изменения, если у меня есть другие варианты.

Обратная связь приветствуется!

...