所以我有这个方法,我看到一个开源项目,它只是令我难以置信,当我尝试运行静态分析器时,这不会泄漏内存。我认为它应该泄漏的原因是因为它分配内存但从不释放它。它每次调用该方法时都会释放它(因为= nil)。任何人都可以为我散光吗?为什么不是这个NSMutableSet泄漏内存
- (BOOL)isValid(NSString *)name
{
// Using a set so access is faster
static NSMutableSet *exp = nil;
// Setup the set once with AB testing info
if (exp == nil) {
exp = [[NSMutableSet alloc] initWithCapacity:5];
}
if (exp != nil) {
return YES;
}
return NO;
}
你使用弧 – 2012-04-20 17:42:46
不,这不是..我没有这个东道主尚未.. – adit 2012-04-20 17:44:12
它是否抱怨,如果它不是一个静态?鉴于exp是静态的,你不希望它抱怨。你不会像保留静态对象那样泄漏太多东西。 – Obliquely 2012-04-20 17:44:35