2

OS X アプリの開発は初めてです。アプリにいくつかのチェックボックスがあります。チェックボックスが選択されているかどうかに応じて、値を 1 と 0 として保存する必要があります。「NSInteger sampleValue」などの NSInteger 変数の値を取得するにはどうすればよいですか。

4

3 に答える 3

8

IBActionを作成し、チェックボックスに接続します

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

複数のチェックボックスがある場合は、すべてのチェックボックスを同じIBActionメソッドに接続します。チェックボックスのタグ値を変更する
ここに画像の説明を入力してください

-(IBAction)checkBoxState : (id)sender;
{
    if (0==[sender tag]) {
        NSLog(@"1st checkbox state %d", [sender state]);
    }
    else    if (1==[sender tag]) {
        NSLog(@"2nd checkbox state %d", [sender state]);
    }
    else    if (2==[sender tag]) {
        NSLog(@"3rd checkbox state %d", [sender state]);
    }


}

サンプルプロジェクトを見てください。

于 2012-12-27T08:45:43.030 に答える
4

NSInteger値を取得したい場合は[checkbox state]. 次のように実行できます。

NSInteger integValue = [checkBoxOutlet state];

NSLog(@"%li", integValue); //Show value on screen

checkBoxOutletは、ヘッダー ファイルのチェックボックス アウトレットです。

于 2012-12-27T08:00:30.570 に答える
3

あなたはこれに関して見つけることができます:(check1はcheckBoxのプロパティ名です)

NSLog(@"%ld",[_check1 state]);//will give -1, 0 or 1, as mixed, off or on.

また、より未来的なものにしたい場合(つまり、将来1、0、または-1の値が変更された場合は、これらの列挙型を使用します)

if ([_check1 state]==NSOnState) {
    NSLog(@"ON-Checked");
}
else if([_check1 state]==NSOffState){
    NSLog(@"OFF-UnChecked");
}
else if([_check1 state]==NSMixedState){
    NSLog(@"OFF-MixedChecked");
}
于 2012-12-27T08:46:56.257 に答える