我正在编写一个用于下载image的代码。我有一个NSOperation类的类,我正在调用该类。每件事情都运转良好,但它显示内存泄漏。我无法察觉。
请帮助摆脱这个问题。我附上了泄漏的图片。
我正在添加一个新图像,您可以看到我简单地初始化变量,但它仍然会导致内存泄漏。我有一个类似的用于下载图像的类,使用@property(非原子,复制)void(^ completionHandler)(void);.我也很简单地初始化它而不是发布但它没有给出任何错误。请看下面的图片。
如果我正在评论[dowloader setcompletionhandler]块,那么它也会显示此内存泄漏。请参见下图
答案 0 :(得分:0)
编辑版: 由于您正在使用块中的对象,因此该块会创建一个强引用。 ARC中的强引用意味着只保留对象。由于您不使用ARC,因此在完成后需要手动释放块中正在使用的对象。是的,这不是误报。
除了屏幕截图3: 你现在构建了一个不同的案例。您现在正在发布一个您不拥有的对象。您的InitWithURL方法如何?
也许您应该将此项目转换为ARC以避免此类争吵?
答案 1 :(得分:0)
通过更改初始化代码来修复内存警告 我不知道b / w有什么不同,但它解决了这个问题。