0

IBでは、ユーザー番号の入力を検証する に設定NSNumberFormatterされた を挿入しました。NSTextField

大きすぎるテキストまたは数値を入力すると、すべて正常に動作します-警告プロンプトが表示されます

ただし、ユーザーが back を使用して値を削除するとNSNumberFormatter

[NSNull doubleValue]

NSNull値を取得するにつれて

数値の nil 値の処理を設定するには? null プレースホルダーを割り当てましたが、これは明らかに例外の発生を止めません

  • 望ましい動作は、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 に答える