0

NSSwitchCells 列を NSArrayController にバインドしました。ON/OFFの値は正しく表示されるのですが、クリックしても値が変わりません。スイッチ ボックスは、クリックの視覚的なフィードバックを提供しますが、値は同じままです (オンまたはオフ)。

ここに画像の説明を入力

私はあらゆる種類のバインディングオプションを試しました。

 NSDictionary *bindingOptions = [NSDictionary dictionaryWithObjectsAndKeys:
                                                [NSNumber numberWithInteger:1], NSContinuouslyUpdatesValueBindingOption, 
                                                [NSNumber numberWithInteger:1], NSRaisesForNotApplicableKeysBindingOption,
                                                [NSNumber numberWithInteger:1], NSConditionallySetsEditableBindingOption,
                                                [NSNumber numberWithInteger:1], NSValidatesImmediatelyBindingOption,

                                                nil];
                [tableColumn bind:@"value" toObject:currentItemsArrayController withKeyPath:[NSString stringWithFormat:@"arrangedObjects.%@", editedColumnmetadata.columnBindingKeyPath] options:bindingOptions];   

[(NSButtonCell*)cell setButtonType:NSSwitchButton];
                [cell setTitle:@""];
                [tableColumn setDataCell:cell];

ありがとう

UPDATE:(セルへのバインディング?)

 //[tableColumn bind:@"value" toObject:currentItemsArrayController withKeyPath:[NSString stringWithFormat:@"arrangedObjects.%@", editedColumnmetadata.columnBindingKeyPath] options:bindingOptions];
 [cell bind:@"objectValue" toObject:currentItemsArrayController withKeyPath:[NSString stringWithFormat:@"arrangedObjects.%@", editedColumnmetadata.columnBindingKeyPath] options:bindingOptions];
4

1 に答える 1

0

以下の手順に従ってください。詳細が必要な場合はお知らせください:-

最初に、以下のスクリーンショットに添付されているように、バインディング インスペクタ内でチェックボックス セルの列を arraycontroller にバインドする必要があります。

ここに画像の説明を入力

チェックボックスセルの値を更新する場合は、アレイコントローラーの2番目に、アクションメソッドの下にこれを記述し、このアクションメソッドをチェックボックスセルのテーブル列のみに接続します。

-(IBAction)clickChekBoxcell:(id)sender
{
    NSInteger chkCell=[sender integerValue];
    NSNumber *num=[NSNumber numberWithInteger:chkCell];
    NSMutableDictionary *dict=[NSMutableDictionary dictionary];
    for(dict in [arrCont arrangedObjects])
    {
        [dict setObject:num forKey:@"checkYesNo"];
    }
    [arrCont rearrangeObjects];
}
于 2013-10-07T10:37:36.273 に答える