NSTableColumn の headerTitle プロパティをモデル層の NSMutableArray に (NSArrayController 経由で) バインドしたいと考えています。
基本的に、値を変更してテーブルの列ヘッダーのタイトルを更新できる配列が必要です。それは合理的ですか?
ただし、バインディングheaderTitle
はシングルNSString
を必要とし、モデル オブジェクトを my を介してこのバインディングに接続する方法がわかりませんNSArrayController
。Google は、この問題に対して多くのヒットを出していません。
私のモデル層は 2 つのクラスで構成されています (どちらも適切に KVC に準拠しています)。1 つ目は、1 つの列のタイトルを表すモデルで、1 つのプロパティtitle
があり、
// A model class representing the column title of single NSTableColumn
@interface ColumnTitle : NSObject
@property NSString *title;
+ (ColumnTitle*) columnTitleWithTitle:(NSString*) aString;
@end
2 番目は、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
object は、バインディングに必要な上記の配列アクセサーを実装することに注意してください。助言がありますか?