Dha*_*esh 40 string nsurl ios swift
我正在尝试将a转换String
为NSURL
我的代码,因为它是:
var url = "https://maps.googleapis.com/maps/api/distancematrix/json?origins=\(self.latitude),\(self.longitude)&destinations=\(self.stringForDistance)&language=en-US"
println("This is String: \(url)")
var remoteUrl : NSURL? = NSURL(string: url)
println("This is URL: \(remoteUrl)")
Run Code Online (Sandbox Code Playgroud)
和控制台打印这样的东西:
This is String: https://maps.googleapis.com/maps/api/distancematrix/json?origins=-34.4232722,150.8865837&destinations=-34.4250728,150.89314939999997|-34.4356434,150.8858692|-34.4250728,150.89314939999997|-34.4356434,150.8858692|-34.4250728,150.89314939999997|-34.4356434,150.8858692|-34.423234,150.88658899999996|-34.423234,150.88658899999996|-34.428251,150.899673|-34.4257439,150.89870229999997|-34.423234,150.88658899999996|-34.4257439,150.89870229999997|-34.425376,150.89388299999996&language=en-US
This is URL: nil
Run Code Online (Sandbox Code Playgroud)
的remoteUrl
是nil
,我不知道这里有什么问题.
之后我尝试这样排序String
:
var url : String = "https://maps.googleapis.com/maps/api/distancematrix/json?origins=-34.4232722,150.8865837&destinations=-34.4250728,150.89314939999997&language=en-US"
println("This is String: \(url)")
var remoteUrl : NSURL? = NSURL(string: url)
println("This is URL: \(remoteUrl)")
Run Code Online (Sandbox Code Playgroud)
和控制台打印:
This is String: https://maps.googleapis.com/maps/api/distancematrix/json?origins=-34.4232722,150.8865837&destinations=-34.4250728,150.89314939999997&language=en-US
This is URL: Optional(https://maps.googleapis.com/maps/api/distancematrix/json?origins=-34.4232722,150.8865837&destinations=-34.4250728,150.89314939999997&language=en-US)
Run Code Online (Sandbox Code Playgroud)
这工作正常.
那么有人可以告诉我我的第一个案子有什么问题吗?
Dha*_*esh 73
正如Martin R所建议的那样,我看到了这篇帖子,我把目标-c代码转换为swift,我得到了这段代码:
var url : NSString = "https://maps.googleapis.com/maps/api/distancematrix/json?origins=\(self.latitud??e),\(self.longitude)&destinations=\(self.stringForDistance)&language=en-US"
var urlStr : NSString = url.stringByAddingPercentEscapesUsingEncoding(NSUTF8StringEncoding)!
var searchURL : NSURL = NSURL(string: urlStr)!
println(searchURL)
Run Code Online (Sandbox Code Playgroud)
这是正常的.
对于swift 3.0:
let url : NSString = "https://maps.googleapis.com/maps/api/distancematrix/json?origins=\(self.latitud??e),\(self.longitude)&destinations=\(self.stringForDistance)&language=en-US"
let urlStr : NSString = url.addingPercentEscapes(using: String.Encoding.utf8.rawValue)! as NSString
let searchURL : NSURL = NSURL(string: urlStr as String)!
print(searchURL)
Run Code Online (Sandbox Code Playgroud)
djd*_*nce 40
正如blwinters所说,在Swift 3.0中使用
URL(string: urlPath.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)!)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
39305 次 |
最近记录: |