NSString 的文档没有提到调用 intValue 方法时引发的任何异常。如果没有其他具有 Objective-C 专业知识的人确认即使字符串是字母数字也不会引发异常,我觉得有点难以置信。
(ps我已经完成了我的测试并且没有引发异常,该方法似乎尽最大努力将字符串转换为int,如果全部失败则返回0)。
最佳答案
没有理由怀疑这种行为的框架方法。异常(exception) can't be used用于 Cocoa (Touch) 中的控制流或可恢复错误。如果 intValue
引发了无效输入异常,您必须每次都验证您的输入。验证至少是实际转换所需工作的重要部分。intValue
因此,明智的做法是在无法转换时简单地返回记录在案的“失败”值。*
*当然,它并不完美,因为特殊值也是有效的转换值。但是,如果这成为问题,您可以使用 NSScanner
或 NSNumberFormatter
.
关于ios - 你能依赖 NSString intValue 从不引发异常吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20912051/