2013-04-26 1 views
3

URL 디코딩을 시도하고 있지만 "NSString이 URLDecode에 응답하지 않을 수 있습니다"와 같은 경고 메시지가 나타납니다.ios - NSString URL 디코딩?

NSString* token = [[urlStr substringFromIndex:r.location + 1] URLDecode]; 

아이디어가 있으십니까?

+0

URLDecode 기능은 어디에 있습니까? –

+0

나는 당신이 달성하고자하는 것을 보여주는 조금 더 많은 정보를 제공해야한다고 생각합니다! – mttrb

+1

URLDecode를 URLDecodedString로 바꿉니다. – Balu

답변

3

는, 당신이 생각하는 방법을 직접 추가하려면 다음과 같은 카테고리를 추가 할 수있는 고전이 NSString 응답하는 방법이 아니기 때문에 :

@interface NSString (URLDecode) 
- (NSString *)URLDecode; 
@end 

@implementation NSString 
- (NSString *)URLDecode 
{ 
    NSString *result = [(NSString *)self stringByReplacingOccurrencesOfString:@"+" withString:@" "]; 
    result = [result stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 
    return result; 
} 
@end 
+0

감사합니다. aleroot, 작동 중입니다. –

+0

비슷한 범주를 작성했지만 문자열을 디코딩하려 할 때 문제가 발생했습니다. "abcjhjhdfjhafjakhfjaklfj12346890 (*^$ # @@@ # $ % ^^ ........" 이 메서드는 nil을 반환합니다. "string_ReplacingPercentEscapesUsingEncoding은"변환이 가능하지 않으면 nil을 반환합니다 (즉, 이스케이프 비율이 주어진 인코딩에서 유효하지 않은 바이트 시퀀스를 제공합니다. ") 때문에 문제가 발생합니다. (from NSURL.h) 그래서이 문제에 직면 한 사람들을 위해 머리를 올리십시오. –