ios - 你能依赖 NSString intValue 从不引发异常吗

标签 ios objective-c

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

(ps我已经完成了我的测试并且没有引发异常,该方法似乎尽最大努力将字符串转换为int,如果全部失败则返回0)。

最佳答案

没有理由怀疑这种行为的框架方法。异常(exception) can't be used用于 Cocoa (Touch) 中的控制流或可恢复错误。如果 intValue引发了无效输入异常,您必须每次都验证您的输入。验证至少是实际转换所需工作的重要部分。
intValue因此,明智的做法是在无法转换时简单地返回记录在案的“失败”值。*

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

关于ios - 你能依赖 NSString intValue 从不引发异常吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20912051/

相关文章:

ios - 最佳编码实践 - 在同一函数中画线和圆 - 结构、开关、类函数

ios - 覆盖非动态类声明

ios - 如何在 iOS 中设置 AVPlayer 声级计?

iPhone - 在运行时以编程方式更改应用程序的图标

iphone - 在 Facebook 上显示应用名称 分享 iPhone

iphone - 调用-initWithFrame : on super class

ios - 在 iOS 中比较蓝牙发送的 ASCII 字符时出现问题

objective-c - 从主线程( cocoa )终止辅助线程

iphone - UIScrollview缩放刷新内容

ios - 在 GCD 中,是否保证串行队列中的所有任务都在同一个线程中运行?