2011-04-09 140 views
1

当我发送非数字字符串时,此代码泄漏,但不发送数字字符串时。 numberFromString:失败时是否可能泄漏内存并返回nilNSNumberFormatter是否可能泄漏内存?

- (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 2011-04-09 11:16:32

+0

我正在使用仪器。它说这个代码泄漏了16个字节。 – 2011-04-09 11:27:02

+1

用@“jsdfklsjdf”测试过它,并且不泄漏单个字节。也许显示更多上下文。也许看到什么东西在泄漏,也许你的字符串? – Eiko 2011-04-09 11:42:45

回答

1

是的,这是可能的。当仅包含字母的参数(如@"asdf"或仅包含数字,例如@"1234")很好。如仪器显示的那样,当参数是字母和数字的组合时,它会泄漏,如@"123asdf"