【问题标题】:NSTextField, NSNumberFormatter nil input validation and handlingNSTextField, NSNumberFormatter nil 输入验证和处理
【发布时间】:2013-10-30 13:01:44
【问题描述】:

在 IB 中,我将已配置的 NSNumberFormatter 插入到 NSTextField 中,以验证用户号码输入

一切正常,当我输入一个太大的文本或数字时 - 我得到警告提示

但是,当用户使用 back 删除值时,NSNumberFormatter 会引发

[NSNull doubleValue]

当它获得NSNull 值时

如何为数字配置 nil 值处理?我分配了 null 占位符,但这显然并不能阻止异常的发生

  • 期望的行为是不验证 nil 和/或不抛出异常

【问题讨论】:

    标签: cocoa nstextfield nsnumberformatter


    【解决方案1】:

    1) 子类NSNumberFormatter

    2) 实现(如果为空,则输入 0)

    - (NSString *)stringForObjectValue:(id)obj {
    
        if (obj == nil) {
            return @"0";
        }
    
        return [super stringForObjectValue:obj];
    
    }
    

    3) 在 IB 中设置类

    【讨论】:

      猜你喜欢
      • 2013-05-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-27
      • 1970-01-01
      • 1970-01-01
      • 2012-05-05
      相关资源
      最近更新 更多