【问题标题】:Checking for NSURL load done检查 NSURL 加载完成
【发布时间】:2011-02-20 21:06:15
【问题描述】:

我在 NSURL -> NSstring initWithContentsOfUrl 中寻找“完成或完成”的事情

我找到了“URLResourceDidFinishLoading”,但这似乎已经贬值了

我找不到任何东西,但也许我搜索了错误的东西。

【问题讨论】:

    标签: objective-c nsurl


    【解决方案1】:

    如果您从NSString 谈论-initWithContentsOfURL:,它一直是deprecated

    但即使您正在使用它,它也是一种同步方法 - 这意味着您的代码将暂停,直到数据被加载到生成的 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. 您在从网络加载某些内容时冻结了 UI,而没有向用户提供任何反馈。

    您可能需要NSURLRequest 来创建您的请求对象和NSURLConnection 来实际从网络加载它。

    【讨论】:

    • 谢谢,很高兴知道。我还没有看到“initWithContentsOfURL”也已被弃用,这正是我正在寻找的。​​span>
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-01-07
    • 2011-07-23
    • 2012-04-03
    • 1970-01-01
    • 2021-08-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多