首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何绑定NSTableColumn的headerTitle?

如何绑定NSTableColumn的headerTitle?
EN

Stack Overflow用户
提问于 2014-02-16 13:25:03
回答 2查看 132关注 0票数 2

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

基本上,我希望有一个数组,我可以在其中更改值,并更新表的列标题。这是否合理呢?

但是,the headerTitle binding需要一个NSString,而我不确定如何通过NSArrayController将我的模型对象连接到这个绑定。对于这个问题,谷歌并没有给出太多的结果。

我的模型层由两个类组成(这两个类都适当地符合KVC )。第一个是表示单个列标题的模型,它有一个属性title

代码语言:javascript
复制
// A model class representing the column title of single NSTableColumn
@interface ColumnTitle : NSObject
@property NSString *title;
+ (ColumnTitle*) columnTitleWithTitle:(NSString*) aString;
@end

第二个是表示ColumnTitle对象的有序组的模型对象,

代码语言:javascript
复制
// 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对象实现了绑定所需的上述数组访问器。有什么建议吗?

EN

回答 2

Stack Overflow用户

发布于 2014-02-16 16:33:54

以前没有尝试过,但您实际要求的是对数组索引使用KVC。在这个问题上,快速的谷歌没有找到任何东西,除了一些结果表明(目前)还不可能(查看this)。

我能想到的最简单的变通办法是简单地为数组索引添加专用属性。不是很好,但工作很好。

因此,对于一个名为myArrayNSMutableArray,它包含具有NSString类型的title属性的对象,您可以这样做:

代码语言:javascript
复制
@property (nonatomic, readonly, getter = columnOneGetter) NSString *columnOneString;

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

总是假设它们的数量是预先知道的,我们不是在谈论200列:-)

票数 1
EN

Stack Overflow用户

发布于 2014-02-16 15:36:46

我想这可能不是你想要的,但快速的谷歌搜索让我找到了这里:http://pinkstone.co.uk/how-to-add-touch-events-to-a-uitableviewfooter-or-header/

编辑:我知道这是为mac (不是ios)编写的,但如果它真的有帮助的话,应该很容易翻译。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21807676

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档