在我的程序中,我使用此代码从服务器获取json:
func getJSON(urlToRequest: String) -> NSData{
return NSData(contentsOfURL: NSURL(string: urlToRequest)!)!
}
urlToRequest是创建使用信息的形式,所以问题是,如果我只输入英文字母的形式,我得到urlToRequest:
"http://example.com/join?joinName=Max&joinEmail=my@email.com&joinPass=myPass&joinBirth=01.01.1990&joinGender=1"
一切正常,但如果我把例如俄罗斯字母的形式,并得到链接:
"http://example.com/join?joinName=Максим&joinEmail=my@email.com&joinPass=myPass&joinBirth=01.01.1990&joinGender=1"
我得到错误与NSData fatal error: unexpectedly found nil while unwrapping an Optional value
请帮忙,我该如何解决这个问题?
您应该使用stringByAddingPercentEncodingWithAllowedCharacters
来净化您的URL:
let str = "http://example.com/join?joinName=Максим&joinEmail=my@email.com&joinPass=myPass&joinBirth=01.01.1990&joinGender=1"
let url = NSURL(string: str.stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.URLFragmentAllowedCharacterSet())!)