3

我已经通过仪器运行了我的程序,它报告了这段代码中的泄漏:

在此处输入图像描述

这是为什么 ?

4

2 回答 2

1

这部分代码没有泄漏。尝试运行分析器,它可能会告诉您泄漏的内容。

于 2012-07-27T13:20:29.380 回答
0

正如我之前所说,我在这里看不到泄漏,但是一些代码更改可能有助于消除可能的泄漏,因为您假设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);
}];
于 2012-06-06T18:24:39.953 回答