Заполнение NSComboBox данными, сгенерированными в массиве чужих классов

После моего последнего вопроса о доступе к массиву из другого класса я столкнулся с новой проблемой, от которой у меня болит три дня. Каждый раз, когда я думаю, что у меня есть правильный подход к решению, я терплю неудачу.

Ну... у меня пока нет большого опыта в программировании какао. Но, возможно, вы сможете дать мне недостающий намек.

Позвольте мне показать вам, какой подход я выбрал:

1) объявление массива в классе PortConnection.h/.m

@interface PortConnection : NSObject {
@private
    NSMutableArray *baudArray;
}
@property (nonatomic, retain) NSMutableArray *baudArray;

и синтезировать в.m

@implementation PortConnection
@synthesize baudArray;

Затем я решил реализовать метод во ViewController, который должен отвечать за заполнение массива данными, которые мне нужны для отображения. Имя класса "PortTableViewController.h"

#import "PortConnection.h"

@interface PortTableViewController : NSObject <NSTableViewDataSource, NSComboBoxDataSource> {
@private
    IBOutlet NSComboBox *baudSelection;
    PortConnection *portConnection;
}

@property (assign) IBOutlet NSTableView *portTableView;

- (IBAction)fillBaudSelection:(id)sender;

@end

и реализация моего метода "fillBaudSelection".

- (IBAction)fillBaudSelection:(id)sender {

    int baudCount = [portConnection.baudArray count];
    int i;

    for (i = 0; i <= baudCount; i++){
        [baudSelection addItemWithObjectValue:[portConnection.baudArray objectAtIndex:i]];
    }
}

Кроме того, я реализовал методы делегата для выпадающего списка.

- (id)comboBox:(NSComboBox *)aComboBox objectValueForItemAtIndex:(NSInteger)index{
    return [portConnection.baudArray objectAtIndex:index];
}

- (NSInteger)numberOfItemsInComboBox:(NSComboBox *)aComboBox{
    return [portConnection.baudArray count];
}

Мои вопросы:

1) Нужно ли вообще использовать методы делегата для поля со списком? 2) Combobox не заполнен данными вообще, хотя массив заполнен данными 3) Я думаю, что сложно?

Большое спасибо за каждый подсказку, которую я получаю от вас!

С наилучшими пожеланиями Себастьян

1 ответ

Решение

Вы уверены, что правильно подключили комбинированный список? убедитесь, что делегат и источник данных установлены в любой класс, в котором реализованы методы.

Другие вопросы по тегам