Potential leak of an object stored into 'xxxx'
がでる場合、CoreFoundationで生成したオブジェクトを解放せずにメモリリークしているときがある。
CoreFoundationで生成したオブジェクトを __bridge でキャストして変数に代入しても参照カウントが減っていない。
そのため、releaseされずにメモリリークになってしまう。
例えばCFURLCreateStringByAddingPercentEscapesでURLエンコードするときに、
NSString* param = (__bridge NSString *)CFURLCreateStringByAddingPercentEscapes(...
とすると、Analyzeで
Potential leak of an object stored into 'param'
となる。
この場合、__bridge_transfer でキャストして参照カウントを減らすようにする。
NSString* param = (__bridge_transfer NSString *)CFURLCreateStringByAddingPercentEscapes(...
0 件のコメント:
コメントを投稿