我已经写了一个方法(如下所示)。该项目是使用ARC编译的,但是由于第三方库的依赖性,该方法所在的文件必须使用-fno-objc-arc开关进行编译。
泄漏检查员告诉我存在泄漏
return [fragments componentsJoinedByString:@" "];
我看不到-我可以请另一只眼睛指出我的错误吗?
非常感谢
-(NSString *)trimAndTidy:(NSString *)aString
{
NSCharacterSet *nsc = [NSCharacterSet characterSetWithCharactersInString:@"\r\n \t"];
NSString *fragment;
NSMutableArray *fragments = [NSMutableArray array];
NSScanner *scanner = [NSScanner scannerWithString:aString];
do
{
if ([scanner scanUpToCharactersFromSet:nsc intoString:&fragment])
[fragments addObject:fragment];
}
while (![scanner isAtEnd]);
return [fragments componentsJoinedByString:@" "];
}
最佳答案
泄漏检查器会告诉您分配泄漏的位置,而不是引起泄漏的位置。
为了找到原因,您必须找到额外的retain
或缺少release
调用。
关于objective-c - NSArray组件JoinedByString内存泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10706847/