1

次のような IBAction を作成します。

- (IBAction)okButton:(id)sender {
    NSLog(@"%d",[sender intValue]);
}

ボタンを繰り返しクリックすると、コードは 1,0,1,0,1,0 を出力します。送信者の intValue の意味を知りたいです。リファレンスは、レシーバーの値を int として返します。しかし、それが何を意味するのかわかりません。

4

1 に答える 1

2

それは NSInteger である NSButton 状態になりますが、代わりにこの列挙型を使用する必要があります。

enum {
   NSMixedState = -1,
   NSOffState   = 0,
   NSOnState    = 1
};

ボタンは通常、NSOffStateクリックして に変わるまで表示されNSOnState、次にクリックすると元に戻ります。単純なボタンの場合、この状態は視覚的に表示されませんが、一部のボタン タイプ (チェックボックスなど) では状態が表示されます。視覚的に。

senderhere はあなたのになり、よりもむしろNSButton使用する方が正しいでしょう(ただし、最初にキャストする必要があります)。stateintValueNSButton

于 2012-07-30T15:10:00.997 に答える