我目前正在这样做:
NSMutableDictionary *dict = [[NSDictionary alloc] initWithContentsOfURL: [NSURL URLWithString:@"http://mysite/mypage.php"]];
除了返回的数据非常大,并且看起来超时之外,这很棒。我怎么能绕过这个?
提前致谢。
答案 0 :(得分:1)
我不是使用NSDictionary来管理下载的忠实粉丝。我可能会尝试类似的东西:
NSURL *url = [NSURL URLWithString:@"http://mysite/mypage.php"];
NSURLRequest *request = [NSURLRequest requestWintURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:60.0];
NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
现在,如果数据不是NULL,则保存到本地文件。然后使用initWithContentsOfFile:方法使用该文件的内容加载字典。
如果仍然有超时,可以尝试更大的timeoutIntervals。
答案 1 :(得分:0)
NSURLRequest(或NSMutableURLRequest)和NSURLConnection。
答案 2 :(得分:0)
在像initWithContentsOfURL
这样的便利方法中,你无法控制超时等事情。它们在我的情况下很好,但听起来你需要使用更低级别的NSURLConnection
和NSURLRequest
来从服务器加载数据。网上有很多例子。