Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
247 views
in Technique[技术] by (71.8m points)

iOS Swift NSURL Web Address Not Working

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.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

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)

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...