最近在我看來,使用設置爲「OS X 10.0行爲」的NSNumberFormatter可能不再流行。 因此,我將附加到幾個NSTextField的數字格式化程序更改爲「10.4默認行爲」和「小數點」樣式。爲什麼10.4樣式的NSNumberFormatter不能自動定位小數點分隔符?
一切工作正常,但數字格式化程序不再自動從美國(。)切換到德語(,)區域設置後自動本地化其小數分隔符。看起來我被卡在了在IB中創建數字格式化程序時的活動小數分隔符。
IB中的「本地化」複選框沒有效果,因爲setLocalizesFormat:被記錄爲只適用於10.0樣式的格式器(讓我想知道爲什麼複選框甚至在那裏)。
我的解決辦法,現在是設置在IB定製NSNumberFormatter子是這樣的:
- (void) awakeFromNib
{
self.decimalSeparator = [[NSLocale currentLocale] objectForKey:NSLocaleDecimalSeparator];
}
我不能相信這是應該做的正確的方式,爲10.0風格格式化沒有這個問題。
任何想法我失蹤?
問候, ILJA
你嘗試設置在-awakeFromNib的格式化?也許這是一個IB問題。 – catlan
不,因爲我正在處理大約十幾個NSTextFields,而且我不想爲了獲得正確的格式而熱衷於創建網點。所以使用客戶格式化程序看起來很簡單。 – iljawascoding
IBOutletCollection的時間 – catlan