仪器报告内存泄漏。无法理解原因

时间:2015-03-29 06:55:00

标签: ios objective-c memory-leaks instruments

Instruments在创建可变字符串时告诉以下方法正在泄漏内存。谁能告诉我为什么?我在iOS 8 XCode 6.2上使用ARC。

 - (NSString *)capitalizeFirstLetter {
        if (self.length == 0) {
            return self;
        }
        NSMutableString * string = [NSMutableString stringWithString:self.lowercaseString];
        [string replaceCharactersInRange:NSMakeRange(0, 1) withString:[self substringToIndex:1].capitalizedString];
        return string;
    }

1 个答案:

答案 0 :(得分:1)

我不确定导致泄漏的原因,但如果您只想避免泄漏,可以将方法更改为:

- (NSString *)capitalizeFirstLetter {
    if (self.length == 0) {
        return self;
    }
    return [NSString stringWithFormat:@"%@%@", [self substringToIndex:1].capitalizedString, [self substringFromIndex:1]];
}

您也可以在这里查看答案Need help fixing memory leak - NSMutableString