如何使用swift处理文本视图和文本字段中的空间值

时间:2017-01-31 12:25:18

标签: ios json swift uitextfield

我正在使用 Swift 开发应用。在我的应用中,我从UITextFieldUITextView获取了一个值,并将该值作为参数发送到 JSON API。我能够发送值,但是当我发送带有空格的值时,我的应用程序崩溃并将错误显示为空值。但是我也需要用空间发送值。例如,获取全名或地址。

代码:

 Alamofire.request(.GET, "https://www.something.com/cid="+MyCustId+"", parameters: nil, encoding: .URL, headers: nil).response { (req, res, data, error) -> Void in
                let dataString = NSString(data: data!, encoding:NSUTF8StringEncoding)
                print(dataString)

}

此处,MyCustId是从UITextField获取值的变量。提前致谢!

2 个答案:

答案 0 :(得分:0)

您应该通过以下方法将spaces替换为%20中的URL

func addPercentageToUrl(urlString : String) -> String{

            return urlString.addingPercentEncoding( withAllowedCharacters: .urlQueryAllowed)!
        }


func makeService(){
let url = addPercentageToUrl(urlString : "https://www.something.com/cid="+MyCustId+"")
Alamofire.request(.GET, url, parameters: nil, encoding: .URL, headers: nil).response { (req, res, data, error) -> Void in
                let dataString = NSString(data: data!, encoding:NSUTF8StringEncoding)
                print(dataString)

}
}

请更新这样的代码。

答案 1 :(得分:0)

请使用stringByAddingPercentEncodingWithAllowedCharacters方法在网址中添加空格

let myStr = strOfUrl.stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.URLQueryAllowedCharacterSet()