ですから、私はオープンソースプロジェクトで見られるこの方法を持っています。静的アナライザーを実行しようとしたときに、なぜこれがメモリをリークしないのか、頭がおかしくなります。リークするはずだと思う理由は、メモリを割り当てているのに解放しないからです。メソッドが呼び出されるたびに解放されます(= 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;
}