Я хотел бы связать свойство headerTitle NSTableColumn с NSMutableArray на уровне моей модели (через NSArrayController).
В основном я хочу иметь массив, в котором я могу изменять значения и обновлять заголовки заголовков столбцов таблицы. Это разумно?
Однако привязка headerTitle
хочет один 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
реализует указанные выше методы доступа к массиву, необходимые для привязок. Какие-либо предложения?