0

在 IB 中,我插入了一个配置NSNumberFormatterNSTextField,它验证用户号码输入

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

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

[NSNull doubleValue]

因为它得到了NSNull价值

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

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

1 回答 1

0

1) 子类NSNumberFormatter

2)实施(如果为空,将放置一个0)

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

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

    return [super stringForObjectValue:obj];

}

3)在IB中设置类

于 2013-10-30T13:49:11.097 回答