Заполнение NSTableView с помощью NSArrayController

Если вы хотите использовать table view, вы должны реализовать datasource методы.
Если у вас несколько взаимозависимых компонентов, то вам нужно отслеживать изменение состояния всех этих компонентов, например, если в dropdown-компоненте выбран другой элемент, то надо изменить таблицу.

Cocoa Bindings позволяет определять все эти взаимосвязи.

Перед повторением данного примера рекомендуется прочитать: 

1) Добавляем примерно такой класс:

@interface MyObjectController : NSObject
@property (nonatomic, retain) NSMutableArray *objects;
@end

@implementation MyObjectController
@synthesize objects;
- (id)init
{
    self = [super init];
    if (self == nil)
        return nil;
    [self loadArray];
    return self;
}
- (void)loadArray
{
    objects = [[NSMutableArray alloc] initWithObjects:
        [NSDictionary dictionaryWithObjectsAndKeys:@"Prabhu",@"name",@"784546",@"uid",nil],
        [NSDictionary dictionaryWithObjectsAndKeys:@"Sachin",@"name",@"278956",@"uid",nil],
        [NSDictionary dictionaryWithObjectsAndKeys:@"Rahul",@"name",@"368895",@"uid",nil],
        [NSDictionary dictionaryWithObjectsAndKeys:@"Dravid",@"name",@"456275",@"uid",nil],
        [NSDictionary dictionaryWithObjectsAndKeys:@"Ganguly",@"name",@"787887",@"uid",nil],
        [NSDictionary dictionaryWithObjectsAndKeys:@"Dhoni",@"name",@"332356",@"uid",nil],
        [NSDictionary dictionaryWithObjectsAndKeys:@"Kohli",@"name",@"896574",@"uid",nil],
        [NSDictionary dictionaryWithObjectsAndKeys:@"Raina",@"name",@"782368",@"uid",nil],
        nil];
}
@end

Здесь свойство objects содержит данные для отображения.

2) Добавляем из Object library компонент Object. В Identity inspector можно установить значение для Label, которое будет отображаться в Interface Builder. А также Custom Class надо установить в созданный ранее MyObjectController.

3) Добавляем из Object library компонент Array Controller. В Identity inspector можно установить значение для Label, которое будет отображаться в Interface Builder. В Bindings inspector делаем Bind to к созданному ранее Object. А в Model Key Path ставится objects.

4) Далее выделяем Table View и в Bindings inspector ставим Bind to к Array Controller, а Controller key в arrangedObjects.

5) Далее выделяем Text Field и в Bindings inspector ставим Bind to к Table Cell View, а Model Key Path в objectValue.uid.

6) Запуск!

--