NSTextField,NSNumberFormatter nil输入验证和处理

时间:2013-10-30 13:01:44

标签: cocoa nstextfield nsnumberformatter

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

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

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

[NSNull doubleValue]

获取NSNull

如何配置数字的零值处理?我指定了空占位符,但这显然不会阻止异常发生

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

1 个答案:

答案 0 :(得分:0)

1)子类NSNumberFormatter

2)实现(如果为空则将设置为0)

- (NSString *)stringForObjectValue:(id)obj {

    if (obj == nil) {
        return @"0";
    }

    return [super stringForObjectValue:obj];

}

3)在IB中设置班级