2009-05-24 50 views
0

我有一個表列,我綁定到一個值爲NSArrayController。我想要做的是在數組控制器中僅顯示實際值的子字符串。我一直試圖做的,到目前爲止的方法是創建一個子類NSValueTransformer,然後在transformedValue方法做字符串操作。但是,我無法弄清楚如何將傳入值轉換爲字符串(它的類型爲NSConcreteValue),也許有一種更簡單的方法可以在沒有值轉換器的情況下執行此操作。如何在NSValueTransformer中進行字符串操作?

+0

NSConcreteValue是NSValue的一個子類。綁定是否在沒有變壓器的情況下正確顯示全部字符串? – 2009-05-24 17:28:54

+0

是的 - 字符串顯示正常,沒有變壓器。 – Charles 2009-05-25 00:56:04

回答

2

聽起來你正在做演示邊格式,在這種情況下,你應該使用格式化來代替。

再說,如果這是一個包含多個值的字符串(例如,像「從42至100」),則應該從它使一個模型對象代替,並存儲那些在陣列控制器。然後,您可以將表列與模型對象的特定屬性綁定,而不必擔心將字符串拆開然後重新組裝(除非加載並稍後保存模型)。

編輯:沒關係;我沒有看到對象值是NSValues,而不是NSStrings。

1

你可以使用-description方法的對象的字符串表示,但對於NSValue的情況下,它不可能打印任何東西,特別有意義。換句話說,取決於您的值轉換器來解釋傳入的對象並生成一個字符串。如果它是一個NSValue實例,問題是實例包含什麼類型的數據。一旦你知道了,你可以編寫代碼來表示它爲一個字符串(類似於NSStringFromRect())。