【发布时间】:2015-07-09 14:30:48
【问题描述】:
这是我重新加载 _collectionView 特定部分的代码。当我在 Xcode 6.3 Instruments 中使用 Leaks 模板检查内存泄漏时,它显示在线泄漏
[_collectionView reloadSections:indexToLoad];
和 _NSCFNumber 作为泄漏对象。 这是我的代码:
NSMutableIndexSet* indexToLoad = [NSMutableIndexSet new];
for (NSInteger index in array) {
if (index != NSNotFound) {
[indexToLoad addIndex:index];
}
}
if (indexToLoad.count > 0) {
[_collectionView reloadSections:indexToLoad];
}
当我在某处读到时,“泄漏工具会向您显示分配泄漏的位置,但不会显示导致泄漏的代码行”,我怎样才能找到泄漏的原因?还有如何解决这个泄漏?
注意:运行此代码的类启用了 ARC(整个项目都启用了 ARC)。此代码也在主线程上运行。
提前感谢您的回答:)
【问题讨论】:
-
没有发生泄漏的行。当对该对象的所有引用都超出范围但没有人费心收集该对象时,就会发生泄漏。在你的情况下,你的代码甚至没有编译开始,所以你能告诉我们你遇到问题的实际代码吗?
-
真的,向我们展示实际运行的代码。如果该代码编译,那么你真的需要打开一些编译器警告。
标签: ios objective-c memory-leaks xcode6 xcode-instruments