所以我有我在一个开源项目上看到的这种方法,它只是让我难以置信,为什么当我尝试运行静态分析器时它不会泄漏内存。我认为它应该泄漏的原因是因为它正在分配内存但从不释放它。每次调用该方法时它都会释放它(因为 =nil)。任何人都可以为我发光吗?
- (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;
}