【问题标题】:NSString stringWithContentsOfURL is deprecated. What should I do?NSString stringWithContentsOfURL 已被弃用。我该怎么办?
【发布时间】:2011-04-12 16:57:46
【问题描述】:

我编写了一些使用stringWithContentsOfURL 的代码,但事实证明它现在已被弃用。可以帮我换吗?这是我的代码:

NSString *locationString = [NSString stringWithContentsOfURL:[NSURL URLWithString:urlString]];
NSArray *listItems = [locationString componentsSeparatedByString:@","];

另外,有人可以提供一些示例代码来展示它是如何工作的吗?原始代码是用什么编码完成的(在我上面的 2 行中)?

我想保持兼容性,那么我应该为编码选择什么?错误是什么意思,它的用途是什么?

【问题讨论】:

    标签: xml ios nsstring nsarray


    【解决方案1】:

    使用stringWithContentsOfURL:encoding:error:

    编辑:这是您使用上述方法的代码:

    NSError *error = nil;
    NSString *locationString = [NSString stringWithContentsOfURL:[NSURL URLWithString:urlString] encoding:NSUTF8StringEncoding error:&error];
    NSArray *listItems = [locationString componentsSeparatedByString:@","];
    

    您可以针对要导入的任何数据相应地更改NSUTF8StringEncoding

    【讨论】:

    • 如果你问NSUTF8StringEncoding 是否可以解决这个问题,那么它应该可以正常工作。只需将我的代码复制并粘贴到您的项目中,它应该可以 100% 工作。
    • 在提供的代码中,您使用了 NSUTF8StringEncoding。我是否会将其用于通过网络传输的所有数据(例如使用 Google 地图或其他网络服务器)?
    • 是的,如果您正在阅读的是文本。您可以在此处阅读有关 UTF8 的更多信息:en.wikipedia.org/wiki/UTF-8
    • 感谢 EDC :-) 我会继续阅读的。还有哪些其他编码选项?
    【解决方案2】:

    NSString reference 是这样说的:

    请改用stringWithContentsOfURL:encoding:error:stringWithContentsOfURL:usedEncoding:error:

    【讨论】:

    • 你有示例代码来展示它是如何工作的吗?我真的很困惑。原始代码是用什么编码完成的(在我上面的 2 行中)?
    猜你喜欢
    • 2016-09-08
    • 1970-01-01
    • 1970-01-01
    • 2023-01-17
    • 1970-01-01
    • 2014-04-24
    • 2016-03-03
    • 1970-01-01
    • 2023-04-06
    相关资源
    最近更新 更多