私は NSTableView を NSArrayController にバインドしています。私のモデルには BOOL フィールドがあります。その値を列にバインドしようとしています。正しく表示されます (値が YES の場合は 1、値が NO の場合は 0)、読み取り専用です。=(値を編集しようとしても送信できません-Enterキーを押しても何も起こらず、セッターは呼び出されません。列は編集可能です。
IB で正常にバインドできます。通常どおりバインドするだけで、すべて動作します。しかし、私はプログラムで同じことを行うことはできません=(
それが列の作成および追加方法です。
NSTableColumn *column = [[[NSTableColumn alloc] initWithIdentifier:@"ok"] autorelease];
[column setEditable:YES];
[[column headerCell] setStringValue:@"OK"];
[column bind:@"value" toObject:self.arrC withKeyPath:@"arrangedObjects.ok" options:nil];
[table addTableColumn:column];
BOOL 値にのみ問題があります。同じ列を他のフィールドにバインドすると (keyPath を変更するだけで)、すべて正常に動作します。