2011-04-09 9 views
1

이 코드는 숫자가 아닌 문자열을 보낼 때 누출되지만 숫자 문자열을 보낼 때는 누출되지 않습니다. 오류가 발생하여 nil을 반환 할 때 numberFromString:에서 메모리가 누출 될 수 있습니까?NSNumberFormatter가 메모리를 누출 할 가능성이 있습니까?

- (BOOL)isNum:(NSString*)str 
{ 
    BOOL ans = YES; 
    NSNumberFormatter* nf = [[NSNumberFormatter alloc] init]; 
    if ([nf numberFromString:str] == nil) 
     ans = NO; 
    [nf release]; 
    return ans; 
} 
+0

누수가 있다고 생각되는 이유는 무엇입니까? – Eiko

+0

저는 Instruments를 사용하고 있습니다. 그것은이 코드가 16 바이트 누설된다고 말합니다. –

+1

그냥 @ "jsdfklsjdf"로 테스트하여 단일 바이트를 누설하지 않습니다. 더 많은 문맥을 보여줄 수도 있습니다. 어쩌면 어떤 물체가 새고 있는지, 어쩌면 당신의 끈이 보이는지? – Eiko

답변

1

예, 가능합니다. @"asdf"과 같은 문자 만 포함하거나 숫자가 포함 된 매개 변수 (예 : @"1234")는 괜찮습니다. 파라메타가 문자와 숫자의 조합 인 경우, 계기판에 표시된대로 @"123asdf"과 같이 누출됩니다.

관련 문제