3

我正在尝试解码 URL,但我收到警告消息,例如“NSString 可能无法响应 URLDecode”。

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

有任何想法吗?

4

2 回答 2

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
于 2013-04-26T07:29:41.317 回答
1

像这样试试。

NSString* urlEncoded = [urlStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

并检查此链接https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSString_Class/Reference/NSString.html#//apple_ref/doc/uid/TP40003744

它可能会帮助你。

于 2013-04-26T07:32:04.783 回答