NSValueTransformer可以向绑定数组添加更多对象吗?

时间:2013-12-04 10:42:40

标签: objective-c cocoa cocoa-bindings nsvaluetransformer

我正在使用值转换器来转换表内容“绑定”的内容数组 所以我可以在传递给视图之前编辑它们并且它可以正常工作

- (id)transformedValue:(id)value
{
    NSArray *oldArr = value;
    NSMutableArray *newArr = [[NSMutableArray alloc] init];
    for(Metadata *meta in oldArr)
    {
        meta.title = @"hello";
        [newArr addObject:meta];
        [newArr addObject:meta];
    }
    return newArr;
}

值中的编辑有效,并在UI中反映

meta.title = @"hello";

但是当我尝试扩展数组时,不是将表绑定到大小为2的数组,而是想将它扩展为4,只需复制它们

for(Metadata *meta in arr)
{
    meta.title = @"hello";
    [newArr addObject:meta];
    [newArr addObject:meta];
}

这不起作用,我得到旧数组的单元格数 我怎么能达到我想要的目的?

感谢

1 个答案:

答案 0 :(得分:0)

我一点都不清楚你为什么要这样做,这听起来有点像个坏主意,但我之前已经将NSArrayController子类化了以添加额外的项目。在你的情况下你可以设置NSArrayController并坚持你想要的任何东西(重复的项目)并将tableView(你正在使用的是什么?)挂钩到NSArrayController。