私は次の機能を持っています:
- (NSString *)urlEncodedValue {
NSString *result = (NSString *)CFURLCreateStringByAddingPercentEscapes(
kCFAllocatorDefault,
(CFStringRef)self,
NULL,
CFSTR("?=&+/\r\n"),
kCFStringEncodingUTF8
);
return [result autorelease];
}
Clang から次のような苦情が寄せられるのはなぜですか?
- 1 関数 'CFURLCreateStringByAddingPercentEscapes' への呼び出しは、保持カウントが +1 の Core Foundation オブジェクトを返します (所有参照)
- 2 オブジェクト送信 - 自動解放メッセージ
- 3 所有参照として呼び出し元に返されるオブジェクト (呼び出し元に転送される単一保持カウント)
- 4 オブジェクトのオーバーオートリリース: オブジェクトが送信されました -autorelease が、オブジェクトの保持カウントがゼロ (ローカルで表示可能) です
私の知る限り、これはメモリ管理とオブジェクトの所有権に関する Apple のガイドラインに準拠しています。オブジェクトを明示的に解放する必要がありますか? このエラーは、すべて同様の状況で、私のプロジェクトで 19 回発生しました。私は何を間違っていますか?