1

コンボボックスを含む NSAlert があり、変更されるたびにその値を知る必要があります。
私の .hi では、NSComboBoxDelegateプロトコルとNSComboBox* comboBox.

私の .mi には次のものがあります。

[comboBox setDelegate:self];


- (void)comboBoxSelectionDidChange:(NSNotification *)notification{
    int x = [[comboBox stringValue] intValue];
    NSLog(@"ComboBox Value Changed to --> %i", x);
}

しかし、ここに問題があります:
コンボボックスのデフォルト値は 2 です。たとえば、値を 6 に変更すると、NSLogディスプレイ:ComboBox Value Changed to --> 2
次に、値を 2 に戻すと、NSLogディスプレイ:ComboBox Value Changed to --> 6
この問題に関するアイデアはありますか? ありがとうございました。

PS: 他の方法を試してみNSComboBoxDelegateましたが、上記と同じことが起こります。

4

1 に答える 1

1

stringValue の代わりに objectValueOfSelectedItem を使用するようにコードを変更します。

- (void)comboBoxSelectionDidChange:(NSNotification *)notification{
    int x = [[notification.object objectValueOfSelectedItem] intValue];
    NSLog(@"ComboBox Value Changed to --> %i", x);
}
于 2012-05-26T18:10:28.700 に答える