Бесплатный мост и управление памятью - PullRequest
1 голос
/ 24 февраля 2009

Моему приложению для iPhone необходимо выполнить некоторую кодировку escape-последовательности URL-адреса для параметра формы. NSString stringByAddingPercentEscapesUsingEncoding как stringByAddingPercentEscapesUsingEncoding не так уж много. Это то, что у меня есть

-(NSString*)currentMessageUrlEncoded{
  CFStringRef originalURLString = (CFStringRef) self.currentMessage;
  CFStringRef urlString = CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, originalURLString, NULL, (CFStringRef) @"&+", kCFStringEncodingUTF8);  
  NSString *result =  (NSString*) urlString;
  [result autorelease]; // Is this sufficient?
  return result;
}

Я не уверен насчет управления памятью здесь? Достаточно ли автоматического релиза на результат, или я вообще лаю не на том дереве?

1 Ответ

3 голосов
/ 24 февраля 2009

Да, это . Вы даже можете немного сократить свой метод:

- (NSString *)urlEncodedMessage:(NSString *)message {
    CFStringRef urlString = CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, (CFStringRef) message, NULL, (CFStringRef) @"&+", kCFStringEncodingUTF8);  
    return [(NSString *)urlString autorelease];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...