У меня есть следующая функция:
- (NSString *)urlEncodedValue {
NSString *result = (NSString *)CFURLCreateStringByAddingPercentEscapes(
kCFAllocatorDefault,
(CFStringRef)self,
NULL,
CFSTR("?=&+/\r\n"),
kCFStringEncodingUTF8
);
return [result autorelease];
}
Почему Кланг дает мне следующие жалобы?
- 1 Вызов функции 'CFURLCreateStringByAddingPercentEscapes' возвращает базовый базовый объект со счетом удержания +1 (ссылка на владельца)
- 2 Объект отправлен -авторское сообщение
- 3 Объект, возвращаемый вызывающей стороне в качестве собственной ссылки (счетчик сохраняемых данных передается вызывающей стороне)
- 4 Слишком автоматическое освобождение объекта: объект отправлен -autorelease, но объект имеет ноль (видимый локально) счетчиков сохранения
Насколько мне известно, это соответствует рекомендациям Apple относительно управления памятью и владения объектами. Должен ли я явно освободить объект? Эта ошибка возникала в моем проекте 19 раз, и все при схожих обстоятельствах. Что я делаю не так?