한글을 URL로 서버로 전송시 필요한 익스텐션입니다.
이것을 사용하면 편하게 UTF로 변환하여 사용 할 수 있습니다.
extension String {
func URLEncodedString() -> String? {
let customAllowedSet = NSCharacterSet.URLQueryAllowedCharacterSet()
let escapedString = self.stringByAddingPercentEncodingWithAllowedCharacters(customAllowedSet)
return escapedString
}
static func queryStringFromParameters(parameters: Dictionary<String,String>) -> String? {
if (parameters.count == 0)
{
return nil
}
var queryString : String? = nil
for (key, value) in parameters {
if let encodedKey = key.URLEncodedString() {
if let encodedValue = value.URLEncodedString() {
if queryString == nil
{
queryString = "?"
}
else
{
queryString! += "&"
}
queryString! += encodedKey + "=" + encodedValue
}
}
}
return queryString
}
}
출처 : http://stackoverflow.com/questions/24551816/swift-encode-url
또한 저 익스텐션을 사용 하면 %를 허용해줘야 하는데 허용 하는 방법은 다음과 같습니다.
urlRequest = originalUrlRequest.stringByAddingPercentEncodingWithAllowedCharacters(.URLHostAllowedCharacterSet())!
자세한 내용은 http://stackoverflow.com/questions/24551816/swift-encode-url 확인할 수 있습니다.
'Programer > iOS' 카테고리의 다른 글
[Swift] TextView 안에 있는 Hashtag 텍스트를 Link 하기 (0) | 2016.01.08 |
---|---|
[iOS] 앱 배포시 필요한 인증서와 키, 주의해야 할 점 (0) | 2016.01.04 |
[Swift] tableViewContorler에서 navigation를 사용시 배경화면 문제 (1) | 2015.11.06 |
[Xcode] TableView 에서 멈춤 현상이 일어나는 경우 (0) | 2015.10.30 |
[Swift] Local Notification 일주일 마다 알림 설정하기 (0) | 2015.10.14 |