0

「_currentField」(数値フォーマッター付きのテキストフィールド)の値が1000以上の場合は常に、「_ congrats」(パネル)を表示し、1000未満の場合は「_errormsg」(別のパネル)が表示されます。値を入力するたびにポップアップするのは「_errormsg」だけです。私は何が間違っているのですか?

- (void)onTimer:(NSTimer*)aTimer {

    if ([_currentField.stringValue integerValue] >= 1000)

    {
        [_congrats orderFront:(id)self];
        [_progIndicator stopAnimation:(id)self];
    } 

    else { 
        [_errormsg orderFront:(id)self];
        [_progIndicator stopAnimation:(id)self];

        }

    }
4

1 に答える 1

0

フォーマッタを使用しているため、値を解決するようにフォーマッタに依頼する必要があります。

(から継承する)のformatterメソッドは、フォーマッターオブジェクトを返します。のメソッドは、適切な数値を返します。NSCellNSTextFieldCellnumberFromString:NSNumberFormatter

この場合、テキストフィールドの文字列値をフォーマッタに渡すと、 (整数として)に変わるnumberFromString:ようなものが表示されます。1,0001000

于 2012-07-15T21:41:55.390 に答える