【发布时间】:2015-03-29 06:54:59
【问题描述】:
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 rangeOfComposedCharacterSequenceAtIndex:],因为并非所有字母都编码为一个字符。
标签: ios objective-c memory-leaks instruments