潜在的泄漏分析仪结果不会消失

时间:2010-12-02 15:36:43

标签: iphone objective-c memory-leaks llvm analyzer

我有这种方法,分析器告诉我itemsArray可变数组可能存在泄漏。我在方法结束时添加了相应的release,但分析结果仍然存在。

- (void)addCategory:(NSString*)category {
    NSMutableArray *itemsArray = [[NSMutableArray alloc] initWithCapacity:1];

    if (category) {
        [[APP_DELEGATE itemsDictionary] setObject:itemsArray forKey:category];  
    }

    [self dismissModalViewControllerAnimated:YES];
    [itemsArray release];
}

我该如何解决?

感谢。

2 个答案:

答案 0 :(得分:1)

此代码不会引起分析器的任何问题:

static NSMutableDictionary *itemsDictionary;

- (void)addCategory:(NSString*)category {
    NSMutableArray *itemsArray = [[NSMutableArray alloc] initWithCapacity:1];

    if (category) {
        [itemsDictionary setObject:itemsArray forKey:category];  
    }

    [self dismissModalViewControllerAnimated:YES];
    [itemsArray release];
}

您可以发布您看到的警告的确切措辞(或屏幕截图)吗?

答案 1 :(得分:0)

为什么不尝试将[itemsArray release]放在[self dismissModalViewControllerAnimated:YES]的行之前;