Если вы хотите использовать 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) Запуск!
--