【问题标题】:Potential leak Analyzer result wont go away潜在泄漏分析仪结果不会消失
【发布时间】:2010-12-02 15:36:42
【问题描述】:

我有这个方法,分析器告诉我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];
}

我该如何解决?

谢谢。

【问题讨论】:

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


    【解决方案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];
    }
    

    您能否发布您看到的警告的确切措辞(或者可能是屏幕截图)?

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-01-24
        • 1970-01-01
        • 2012-01-26
        • 1970-01-01
        相关资源
        最近更新 更多