ios - NSString + URLEncoding中的内存泄漏

标签 ios objective-c memory-leaks

我在我的应用程序中运行了这些工具,并在NSString,NSString + URLEncoding的类别中看到了一些内存泄漏:

- (NSString *)urlEncodedString {

    return (__bridge NSString *)CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,
                                                                        (__bridge CFStringRef)self,
                                                                        NULL,
                                                                        (CFStringRef)@"!*'\"();:@&=+$,/?%#[]% ",
                                                                        kCFStringEncodingUTF8);
}

- (NSString *)urlDecodedString {

    return (__bridge NSString *)CFURLCreateStringByReplacingPercentEscapesUsingEncoding(NULL,
                                                                                        (__bridge CFStringRef)self,
                                                                                        (CFStringRef)@"",
                                                                                        kCFStringEncodingUTF8);
}.

我正在使用ARC。

最佳答案

Edgar,请参阅Evernote的NSString + URLEncoding available in GitHub here的实现。

如果要ARC为您释放对象,则应使用__bridge_transfer

如果仍要维护__bridge,则必须手动释放该对象。

关于ios - NSString + URLEncoding中的内存泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20424035/

相关文章:

ios - 崩溃错误代码 : -1001 Error: NSURLErrorTimedOut

ios - 我怎么知道我的应用程序在后台运行?

iphone - 如何在 UIPickerView Controller 中为我的 UIImageView 正确处理带有图像的内存警告?

c++ - 删除所有动态内存后出现 valgrind 泄漏错误

java - Twitter4j TwitterStream 或 BufferReading 导致 java.lang.OutOfMemoryError : Java Heap Space

ios - 单例潜在泄漏?

iphone - 在 UIWebView 中加载具有透明背景的 pdf

ios - objective-c 指针可以重用吗?

ios - 更新您的应用程序是否会保存用户以前的 Plist 文件?

objective-c - 为什么去掉 UIKit.h 的导入后还能引用 UIKit 的类?