【发布时间】:2014-10-15 19:10:15
【问题描述】:
“……你几乎不需要直接使用 NSString 类 你自己的代码”
摘自:Apple Inc.“将 Swift 与 Cocoa 和 Objective-C 结合使用”。 电子书。 https://itun.es/us/1u3-0.l
尽管有这个大胆的声明,但我想我已经找到了需要 NSString 的情况。例如,考虑这个代码块:
NSString(
contentsOfURL: NSURL(string: "http://api.stackexchange.com/answers?site=stackoverflow"),
encoding: NSUTF8StringEncoding,
error: &error)
我不能用 Swift 字符串做到这一点,对吧?无论哪种方式,这都行不通:
String(
contentsOfURL: NSURL(string: "http://api.stackexchange.com/answers?site=stackoverflow"),
encoding: NSUTF8StringEncoding,
error: &error) //Compiler error
所以我应该在这里使用 NSString 吗?或者在 Swift 中有另一种首选方法吗?
【问题讨论】:
-
公平地说,你真的不应该使用
NSString +contentsOfURL:...,因为它会发出同步网络请求。请改用NSURLSession dataTaskWithURL:completionHandler:。