2016-06-18 61 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:方法中設置格式化程序。