NSNumberFormatter 在 NSCFNumber getObjectValue 上泄漏
Posted
技术标签:
【中文标题】NSNumberFormatter 在 NSCFNumber getObjectValue 上泄漏【英文标题】:NSNumberFormatter leaks on NSCFNumber getObjectValue 【发布时间】:2011-10-21 11:43:39 【问题描述】:我创建了一个常用方法“isValidAmount”来检查用户是否在 UITextField 中输入了正确的金额。这是有效的,但问题是,当号码无效时我会泄漏。泄露的对象是“NSCFNumber”,负责的对象是“getObjectValue”。我不知道还能做什么。我已经发布了下面的“格式化程序”。我什至试图在下面发布“数字”。但我仍然继续得到这个泄漏。请帮忙。
+ (BOOL) isValidAmount:(NSString *)amount
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setNumberStyle:NSNumberFormatterDecimalStyle];
NSNumber *number = [formatter numberFromString:amount];
[formatter release];
if (!number)
return NO;
return YES;
【问题讨论】:
【参考方案1】:通过检查,该代码没有任何问题。
它是否也会在设备上泄漏?你能发布泄露的分配的确切回溯吗?
【讨论】:
泄漏对象#地址大小负责库负责框架 NSCFNumber 0x787c1c0 16 Foundation getObjectValue NSCFNumber 0x787ada0 16 Foundation getObjectValue 我还没有获得在设备上运行的许可证...只能使用仪器...以上是您需要的回溯吗? 模拟器想要像设备一样工作,模拟器中的仪器和运行时都有一些错误。如果你能用一个相对较小的例子重现这个问题,请提交一个错误(因为它看起来像一个错误)。 谢谢 bbum,我会尝试归档这个......我想我现在就这样离开它......或者是否有其他方法可以在不使用 numberFromString: 方法的情况下进行验证?老实说,如果不仅仅是为了那个神秘的泄漏,我想坚持使用这种方法以上是关于NSNumberFormatter 在 NSCFNumber getObjectValue 上泄漏的主要内容,如果未能解决你的问题,请参考以下文章
使用 NSNumberFormatter 循环中的 Objective C 自动释放
iOS 14 上的 NSNumberFormatter 错误
NSNumberFormatter 在 NSCFNumber getObjectValue 上泄漏
NSNumberFormatter 将浮点字符串格式化为整数