【发布时间】:2010-04-26 21:02:20
【问题描述】:
我有一个NSTextField,我需要用户在其中输入一个介于最大值和最小值之间的数字,如果我能检测到 NSNumberFormatter 何时未能通过该特定测试,那就太好了,这样我就可以显示一个更好的消息(“数字太大”不是很有帮助,它需要显示有效范围)或简单地将字段自动设置为最接近的有效值。
我查看了NSTextField 委托的‑control:didFailToFormatString:errorDescription: 方法,该方法似乎不允许您修改错误,并且我查看了覆盖NSNumberFormatter 的‑getObjectValue:forString:range:error: 方法,它确实给出了我可以修改 NSError,但似乎没有任何方法可以确定返回了哪个特定错误。
由于我只是输入一个简单的整数,我不需要NSNumberFormatter 中的大部分功能,我最好从头开始编写自己的格式化程序吗?
【问题讨论】:
标签: objective-c cocoa macos validation nsnumberformatter