Строка не будет URL кодировать в iOS - PullRequest
8 голосов
/ 08 февраля 2012

У меня здесь серьезно пукнет мозг, но Я не могу понять, почему это не кодирует для моей жизни.Был поиск по всему, и я даже не могу получить примеры кода для кодирования.Есть идеи?

NSString *searchString = @"waffl&es";

NSString *encodedSearchString = [searchString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSString *urlString = [NSString stringWithFormat:@"http://en.wikipedia.org/?search=%@", encodedSearchString];
NSURL *url = [NSURL URLWithString:urlString];

1 Ответ

24 голосов
/ 10 февраля 2012

Для дальнейшего использования, это то, что я нашел для работы (т. Е. Правильно все кодировал)

+ (NSString*)encodeURL:(NSString *)string
{
    NSString *newString = (__bridge_transfer NSString *)CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, (__bridge CFStringRef)string, NULL, CFSTR(":/?#[]@!$ &'()*+,;=\"<>%{}|\\^~`"), CFStringConvertNSStringEncodingToEncoding(NSUTF8StringEncoding));

    if (newString) 
    {
        return newString;
    }

    return @"";
}
...