回答
正如我之前所说,我不能在这里看到泄漏,但是一些代码更改可能会有助于摆脱可能的泄漏,因为您假设substringWithRange:
正在产生泄漏。
以下代码使用基于块的枚举。另一个积极的影响:它知道如何处理非ASCII字符。
NSMutableArray *characters = [NSMutableArray array];
NSString *answer = @"Hello, Wørld!";
[answer enumerateSubstringsInRange:NSMakeRange(0, [answer length])
options:NSStringEnumerationByComposedCharacterSequences
usingBlock:^(NSString *substring,
NSRange substringRange,
NSRange enclosingRange,
BOOL *stop)
{
[characters addObject:substring];
}
];
[characters enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
NSLog(@"%@", obj);
}];
好吧,谢谢你的答案,但仪器仍然显示8泄漏NSString对象,我认为是块我的答案是分解成...所以...问题依然存在:( –
比它必须是东西否则在你的代码中 - 这个肯定不会泄漏 – vikingosegundo
你在做什么后面的角色? – vikingosegundo
这部分代码没有漏水。尝试运行分析仪,它可能会告诉你什么是泄漏。
我会下注'characters'正在泄漏,而当泄漏时,显然它是唯一负责保留的东西泄漏 - 包括这里创建的所有字符串。 – Tommy
- 1. 为什么我用这个python循环泄漏内存?
- 2. 为什么我会泄漏?
- 3. NSMutableArray循环泄漏
- 4. 为什么GoogleMock泄漏我的shared_ptr?
- 5. 为什么我的代码泄漏?
- 6. 为什么我的活动泄漏?
- 7. 为什么我的CCParticleExplosion泄漏内存?
- 8. 为什么我的shared_ptr泄漏内存?
- 9. 为什么单个循环会导致内存泄漏?
- 10. 我在循环中泄漏内存吗?
- 11. 为什么我有内存泄漏?
- 12. 为什么我收到内存泄漏
- 13. iPhone - 为什么我会泄漏?
- 14. NSMutableArray replaceObjectAtIndex:withObject循环泄漏
- 15. iOS循环和泄漏
- 16. 泄漏而在for循环
- 17. XMLHttpRequest循环内存泄漏
- 18. 为什么` - [UILabel setText:]`泄漏?
- 19. NSURLConnection泄漏 - 为什么?
- 20. 这为什么会泄漏?
- 21. 为什么iphone-xcode泄漏工具显示此代码泄漏?
- 22. while循环中的内存泄漏
- 23. Java for循环中的内存泄漏
- 24. 批次循环中的内存泄漏?
- 25. 游戏循环中的内存泄漏
- 26. 为什么在循环中使用StreamSocket会导致内存泄漏?
- 27. 循环引用内存泄漏?
- 28. java while循环内存泄漏
- 29. php mysql循环内存泄漏?
- 30. 内存泄漏而循环web.client.getPage功能
看起来像CPU利用率,而不是泄漏报告。那里的所有对象看起来像是在非ARC中被自动释放。你在使用ARC吗? – gaige
它似乎不是泄漏。看看这些类似的参考:http://stackoverflow.com/questions/3953519/iphone-substringtoindex-substringfromindex-substringwithrange-memory-leak http://stackoverflow.com/questions/6698046/memory-leak-with-substringwithrange-nsstring – samfisher
不,我不使用ARC ... –