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;
}
最佳答案
我不确定是什么原因导致泄漏,但如果您只想避免泄漏,您可以将方法更改为:
- (NSString *)capitalizeFirstLetter {
if (self.length == 0) {
return self;
}
return [NSString stringWithFormat:@"%@%@", [self substringToIndex:1].capitalizedString, [self substringFromIndex:1]];
}
您也可以在这里查看答案 Need help fixing memory leak - NSMutableString
关于ios - 仪器报告的内存泄漏。不明白为什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29326481/