首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >-[NSString componentsSeparatedByString:]泄漏

-[NSString componentsSeparatedByString:]泄漏
EN

Stack Overflow用户
提问于 2010-11-28 14:30:51
回答 1查看 2.9K关注 0票数 0

我有以下代码:

代码语言:javascript
复制
NSString *indexText = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
if (indexText==nil) {
    [indexText release];
    indexText = [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding];
}
[data release];
NSAutoreleasePool *innerPool = [NSAutoreleasePool new];
NSArray *packageList = [indexText componentsSeparatedByString:@"\n\n"]; //if commented out, there's no leak
[indexText release];
[innerPool drain];

我在indexText上执行componentsSeparatedByString:,但我泄漏了相当多的内存,尽管packageList是自动释放的(事实证明,如果我再次尝试释放它,代码就会崩溃)。当我用componentsSeparatedByString:注释掉这行代码时,泄漏就消失了。

顺便说一下,我在运行iPhone模拟器的同时在活动监视器中查看内存使用情况;仪器没有检测到泄漏。泄漏只是一种幻觉,是模拟器的特性吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-11-28 14:40:39

内存不可能真的泄漏了,componentsSeperatedByString:会返回一个自动释放的NSArray

当涉及到这些事情时,信任工具。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4295699

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档