0

我正在尝试下载一个网站,但只获得了整个网站的四分之一。

    NSString *tagiString = @"http://www.tagesanzeiger.ch";
    NSURL *tagiURL = [NSURL URLWithString:tagiString];
    NSError *error;
    NSString *text =[NSString stringWithContentsOfURL:tagiURL
                                             encoding:NSASCIIStringEncoding
                                                error:&error];

我没有收到任何表明下载未完成的错误。有任何想法吗?

4

1 回答 1

1

我不建议stringWithContentsOfURL为此使用。相反,您应该使用 iOS 的内置网络类,它们可以更好地控制下载操作。例如,stringWithContentsOfURL您无法调整或设置超时,这意味着在连接速度较慢的情况下,您的下载很容易失败(这可能就是这里发生的情况)。

默认情况下stringWithContentsOfURL也不是异步的,因此除非您在辅助线程上运行该代码,否则您将停止 UI(这很糟糕)。

这个现有的问题 -使 stringWithContentsOfURL 异步 - 安全吗?NSURLConnection- 有一些示例代码向您展示如何使用更合适的类将网站作为字符串下载。它将使您更容易处理错误和调试。

于 2013-05-31T11:27:15.553 回答