嗨,我有一个简单的函数,基本上返回输入字符串的修剪版本。问题是当我运行仪器并检查泄漏时,此函数显示在stringWithString行上的泄漏率为100%。

谁能指导我在这里做错了什么。

+ (NSString *) trim:(NSString *)string
{
    if (string == nil)
        return nil;
    NSString *str = [NSString stringWithString:string];
    str = [str stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];

    //[[NSString stringWithString:[string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]] autorelease];
    return str;
}

最佳答案

如果此代码在线程上运行,请确保已设置自动释放池。 stringWithString返回一个自动释放的对象,只有在您的线程有一个自动释放池时,才会发生这种情况。

关于iphone - stringWithString内存泄漏,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4990209/

10-11 17:06