У меня была похожая проблема несколько дней назад.Из того, что я знаю, невозможно иметь разные значения по умолчанию для разных регионов, поэтому я решил это по-разному.
У меня есть многозначное значение с Default
Fahrenheit
и Celsius
.По умолчанию установлено значение по умолчанию, что означает, что я вычисляю единицу измерения в коде на основе настройки NSLocale
Примерно так:
- (MBUnit)temperatureUnit {
MBUnit tmp = [ud integerForKey:MBUDKeyTemperatureUnit];
if (tmp == MBTemperatureDefaultUnit) {
MBUnit defaultTemperatureUnit;
BOOL isMetric = [[[NSLocale currentLocale] objectForKey:NSLocaleUsesMetricSystem] boolValue];
if (isMetric) {
defaultTemperatureUnit = MBTemperatureCelsiusUnit;
}
else {
defaultTemperatureUnit = MBTemperatureFahrenheitUnit;
}
return defaultTemperatureUnit;
}
return [ud integerForKey:MBUDKeyTemperatureUnit];
}