我正在编写一个跟踪某个项目的长度和高度的应用程序。本质上,我想让应用程序同时支持公制和英制测量系统。我目前的策略是将一定的测量数据存储到 Core Data 中,并提出一个特定的对象,在将数据显示在屏幕上之前,在这两个系统之间进行计算和转换。
但是,由于iOS对本地化的支持很大,我想知道是否应该有比自己编写单位转换器更好的方法?
我正在编写一个跟踪某个项目的长度和高度的应用程序。本质上,我想让应用程序同时支持公制和英制测量系统。我目前的策略是将一定的测量数据存储到 Core Data 中,并提出一个特定的对象,在将数据显示在屏幕上之前,在这两个系统之间进行计算和转换。
但是,由于iOS对本地化的支持很大,我想知道是否应该有比自己编写单位转换器更好的方法?
存储公制或英制之一(我个人会使用公制),然后为每个创建一个访问器。
- (NSString *)metricUnitsString
{
// format your string.
return formattedString;
}
- (NSString *)imperialUnitsString
{
// convert value to imperial units.
// format your string.
return formattedString;
}
如果要根据用户的语言环境显示字符串,可以查询[NSLocale currentLocale]
并检查NSLocaleMeasurementSystem
.
与语言环境关联的测量系统的键。相应的值是一个 NSString 对象,其中包含对区域设置使用的测量系统的描述,例如“Metric”或“US”。