你能依靠NSString intValue从不提出例外

时间:2014-01-03 20:20:31

标签: ios objective-c

NSString的文档没有提到调用intValue方法时引发的任何异常。如果没有其他具有Objective-C专业知识的人确认即使字符串是字母数字也不会引发异常,我觉得有点难以置信。

(p.s。我已经完成了我的测试,并且没有引发任何异常,该方法似乎尽力将字符串转换为int,如果所有失败则返回0)。

1 个答案:

答案 0 :(得分:4)

没有理由怀疑这种行为的框架方法。 Cocoa(Touch)中控制流或可恢复错误的异常can't be used。如果intValue引发了无效输入的异常,则必须每次都验证输入。验证至少是实际转换所需工作的重要部分。

因此,

intValue采用合理的路径,只有在无法转换时才会返回记录的“失败”值。*


*当然,它并不完美,因为特殊值也是有效的转换值。但是,如果这成为问题,您可以使用NSScannerNSNumberFormatter