gpt4 book ai didi

IOS:当网络不可用时使用 stringWithContentsOfURL

转载 作者:行者123 更新时间:2023-11-29 04:39:49 25 4
gpt4 key购买 nike

在此代码中,从我的应用程序内轮询可访问的网络 (“http://soxxx9.cafe24.com/event.php”)

   NSString * szURL =[NSString stringWithFormat:@"http://soxxx9.cafe24.com/event.php"];

NSURL *url = [NSURL URLWithString:[szURL stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding ]];

NSString *strData;
while(1)
{
NSError *error = nil;
strData = [NSString stringWithContentsOfURL:url
encoding:NSUTF8StringEncoding
error:&error];
if(!error)
break;
//String data is not owned by me, no need to release
}

如果你有更好的方法,请教我。

最佳答案

当网络中断时,此代码似乎非常耗电:您将尝试数百万次来下载无法访问的内容...

看看 Apple 提供的 Reachability 类 ( http://developer.apple.com/library/ios/#samplecode/Reachability/Introduction/Intro.html )。您将在 gitHub 上找到 ARCified 版本(例如 https://github.com/tonymillion/Reachability)。

这个想法是注册有关网络可达性的通知。

所以,在你的代码中:

  1. 在检索所需的字符串之前检查网络资源可用性。
  2. 如果可用,请使用您的代码而不使用 while(TRUE)
  3. 在客户端检索字符串时检查字符串是否有任何错误 = 在代码中

如果网络不可用,您必须通知用户网络无法访问,并注册可达性通知,以便在网络再次可达时立即检索您的字符串。

关于IOS:当网络不可用时使用 stringWithContentsOfURL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10549011/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com