Vol*_*da2 1 iphone memory-leaks
我的代码是:
NSString *buffer = (NSString *)CFURLCreateStringByAddingPercentEscapes(NULL, (CFStringRef)name, NULL, (CFStringRef)@"!*'();:@&=+$,/?%#[]", kCFStringEncodingUTF8);
NSString *totalString = [NSString stringWithFormat:@"buffer/%@", buffer];
Run Code Online (Sandbox Code Playgroud)
我运行了"构建和分析工具"并看到:"在第979行分配并存储到'缓冲区'中的对象在此点之后不再被引用,并且保留计数为+1(对象泄漏)".
为什么我可能有泄漏CFURLCreateStringByAddingPercentEscapes?
在ARC下,您应该使用__bridge_transfer传输返回值的内存管理:
NSString *buffer = (__bridge_transfer NSString *)CFURLCreateStringByAddingPercentEscapes(NULL, (CFStringRef)name, NULL, (CFStringRef)@"!*'();:@&=+$,/?%#[]", kCFStringEncodingUTF8);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1291 次 |
| 最近记录: |