Я хотел бы связать свойство headerTitle с NSTableColumn с NSMutableArray в моем слое модели (через NSArrayController).Как я могу привязать заголовок заголовка NSTableColumn?
В принципе, я хочу иметь массив, в котором я могу изменять значения и обновлять заголовки заголовков столбцов таблицы. Это разумно?
Однако the headerTitle
binding хочет, чтобы у меня был NSString
, и я не уверен, как подключить мой объект модели к этому связыванию через мой NSArrayController
. Google не дает много хитов для этой проблемы.
Мой модельный слой состоит из двух классов (оба из которых соответствуют требованиям KVC). Первая модель, которая представляет собой единый заголовок колонки, он имеет одно свойства title
,
// A model class representing the column title of single NSTableColumn
@interface ColumnTitle : NSObject
@property NSString *title;
+ (ColumnTitle*) columnTitleWithTitle:(NSString*) aString;
@end
вторая модель объект, который представляет собой упорядоченную группу объектов ColumnTitle,
// Class representing an order collection of model items
@interface TableColumnTitles : NSObject
@property NSMutableArray* columnTitles; // an array of ColumnTitle objects
// These are the KVC array accessors
-(void) insertObject:(ColumnTitle*)columnTitle inColumnTitlesAtIndex:(NSUInteger)index;
- (void)removeObjectFromColumnTitlesAtIndex:(NSUInteger)index;
- (void)replaceObjectInColumnTitlesAtIndex:(NSUInteger)index withObject:(ColumnTitle*)columnTitle;
@end
Обратите внимание, что TableColumnTitles
объекта реализует вышеупомянутые аксессоры массивов, которые необходимы для привязок. Какие-либо предложения?
Я только начинаю с привязок, и я не уверен, как реализовать идею. Не могли бы вы объяснить немного подробнее. Кроме того, в общем, как вы собираетесь использовать привязку 'headerTitle'' NSTableColumn'? Использую ли я его необычным способом? Я в основном хочу иметь возможность устанавливать заголовки заголовков таблиц, изменяя значения в контроллере массива; это не звучит слишком противоречиво, но я не могу найти пример того, как это сделать в любом месте! –
Ответ отредактирован соответствующим образом - обычный отказ от ответственности: введен в браузер, не проверен, не отлажен и т. Д. – Jay
Звучит немного странно, чтобы привязать текущий выбор к заголовку, по крайней мере, я не могу придумать вариант использования, d хотите изменить заголовок при изменении выбранной строки в таблице. – Jay