Search code examples
objective-cbindingnsarraycontrollernstablecolumn

How do I bind an NSTableColumn to NSArrayController arrangedObjects programmatically?


So i have an NSTableView with dynamic NSTableColumns. The columns should get it's data from an NSArrayController's arrangedObject.

Since everything is dynamic, I can't really use the interface builder to bind values. How do I do this programmatically?

I tried this:

NSTableColumn *newColumn = [[NSTableColumn alloc]initWithIdentifier:aKey];
[newColumn.value bind:@"value" toObject:arrayController.arrangedObjects withKeyPath:aKey options:nil];

Solution

  • Okay i figured it out..

    NSString *akey = @"somekey";
    NSString *keypath = [NSString stringWithFormat:@"arrangedObjects.%@",akey];
    [newColumn bind:@"value" toObject:arrayController withKeyPath:keypath options:nil];