问题
I'm attempting to get data from a server. My URL is (for example): http://dommain.com/action
When I execute
let nsURL = NSURL(fileURLWithPath: url)
the URL gets translated into http:/domain.com/action. Then when I execute this:
let task = NSURLSession.sharedSession().dataTaskWithURL(nsURL) {
(data, response, error) in
print("data=\(data) response=\(response) error=\(error)")
}
the error property says it can't find "file:///http:/domain.com/action
I'm not sure what I'm doing wrong.
回答1:
Replace
let nsURL = NSURL(fileURLWithPath: url)
with
let nsURL = NSURL(string: url)
An NSURL object represents a URL that can potentially contain the location of a resource on a remote server, the path of a local file on disk, or even an arbitrary piece of encoded data.
NSURL(fileURLWithPath: url)
initializes and returns a newly created NSURL object as a file URL with a specified path. For network URL use NSURL(string: url)
instead.
For Swift 3 and upwards, use URL instead of NSURL
:
let u = URL(string: url)
来源:https://stackoverflow.com/questions/33305631/ios-swift-nsurl-web-address-not-working