回答
正如我之前所說,我不能在這裏看到泄漏,但是一些代碼更改可能會有助於擺脫可能的泄漏,因爲您假設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 ... –