我正在尝试从服务器获取数据。我的网址是(例如):http://dommain.com/action
执行时
let nsURL = NSURL(fileURLWithPath: url)
将网址转换为http:/domain.com/action。然后当我执行这个时:
let task = NSURLSession.sharedSession().dataTaskWithURL(nsURL) {
(data, response, error) in
print("data=\(data) response=\(response) error=\(error)")
}
错误属性表示无法找到“file:/// http:/domain.com/action
我不确定我做错了什么。
答案 0 :(得分:3)
替换
let nsURL = NSURL(fileURLWithPath: url)
与
let nsURL = NSURL(string: url)
NSURL对象表示可能包含远程服务器上资源位置的URL,磁盘上本地文件的路径,甚至是任意一段编码数据。
NSURL(fileURLWithPath: url)
初始化并将新创建的NSURL对象作为带有指定路径的文件 URL返回。对于网络网址,请改用NSURL(string: url)
。
对于Swift 3及更高版本,请使用URL代替NSURL
:
let u = URL(string: url)