我在swift工作,最初收到警告"' stringByAddingPercentEscapesUsingEncoding'被弃用..."所以我改变了我的代码
let url = NSURL(string: (urlString as NSString).stringByAddingPercentEscapesUsingEncoding(NSASCIIStringEncoding)!)
到
var url = urlString.stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.URLQueryAllowedCharacterSet())
但现在我收到了错误"无法转换类型' String'预期参数类型' NSURL'。
let urlRequest = NSURLRequest(URL: url!)
我目前的代码:
private func handleTextFieldInterfaces(){
autocompleteTextField.onTextChange = {[weak self] text in
if !text.isEmpty{
if self!.connection != nil{
self!.connection!.cancel()
self!.connection = nil
}
let urlString = "\(self!.baseURLString)?key=\(self!.googleMapsApiKey)&input=\(text)"
//let url = NSURL(string: (urlString as NSString).stringByAddingPercentEscapesUsingEncoding(NSASCIIStringEncoding)!)
var url = urlString.stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.URLQueryAllowedCharacterSet())
if url != nil{
let urlRequest = NSURLRequest(URL: url!) //Error on this line
self!.connection = NSURLConnection(request: urlRequest, delegate: self)
}
}
}
}
答案 0 :(得分:2)
尝试将其投射到NSURL,看看它是否有效
var url = NSURL(urlString.stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.URLQueryAllowedCharacterSet()))