gpt4 book ai didi

macos - 如何绑定(bind)到 NSTableColumn 的 headerTitle?

转载 作者:行者123 更新时间:2023-12-03 16:41:07 25 4
gpt4 key购买 nike

我想将 NSTableColumn 的 headerTitle 属性绑定(bind)到模型层中的 NSMutableArray(通过 NSArrayController)。

基本上我想要一个数组,我可以在其中更改值并更新表列标题标题。这样合理吗?

但是,the headerTitle binding想要一个 NSString 并且我不确定如何通过我的 NSArrayController 将我的模型对象连接到此绑定(bind)。 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 对象实现了绑定(bind)所需的上述数组访问器。有什么建议吗?

最佳答案

以前没有尝试过,但您实际上要求的是使用KVC 作为数组索引。快速谷歌没有发现任何关于这个问题的信息,除了一些结果表明它(尚)不可能(检查 this )

我能想到的最简单的解决方法是简单地为数组索引添加专用属性。虽然不太好,但可以完成工作。

因此,对于名为 myArrayNSMutableArray 并包含具有 title 类型 NSString 属性的对象,您会这样做像这样:

@property (nonatomic, readonly, getter = columnOneGetter) NSString *columnOneString;

(NSString*) columnOneGetter
{
return myArray[0].title;
}

当然总是假设他们的数量是预先知道的,而且我们不是在谈论 200 列:-)

关于macos - 如何绑定(bind)到 NSTableColumn 的 headerTitle?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21807676/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com