2016-06-18 62 views
0

我有一个当前使用基于单元的NSTableViews WITH绑定的项目。我正在更新项目以使用视图。使用单元格,我可以在代码中实例化NSFormatter,将其添加到NSTableColumn的数据集的格式化程序属性,维护对该格式程序的引用,并以编程方式更改格式化程序的属性。我没有看到一个战略,以基于视图的tableviews做同样的事情。在基于视图的NSTableViews中维护对NSFormatter的引用

使用基于视图的tableviews,我可以在原型视图的textfield上设置格式化程序,但该格式化程序也是原型。这个格式化程序会被实例化几次,所以我不能保持对原型格式化程序的引用。作为另一种解决方案,我用格式化程序的类创建了一个自定义格式化程序对象,将我的tablecellview的出口拖放到格式化程序,但这根本不起作用。

我需要能够以编程方式调整我的格式化程序在基于视图的tableview中的工作方式。

+0

也许'NSValueTransformer'的自定义子类是一个选项。 – vadian

+2

或者可以在委托的'tableView:viewForTableColumn:row:'方法中设置格式器。 – Willeke

+0

这就是票。我认为委托调用和绑定是相互排斥的。通过委托调用,我只需设置文本字段格式化程序,并且不要在文本字段上指定字符串值。在委托调用之后,表视图绑定将填充文本字段的字符串值。做一个正式的答案,我会接受它 – blackirishman

回答

1

您可以在代理的tableView:viewForTableColumn:row:方法中设置格式化程序。