0

我正在编写一个跟踪某个项目的长度和高度的应用程序。本质上,我想让应用程序同时支持公制和英制测量系统。我目前的策略是将一定的测量数据存储到 Core Data 中,并提出一个特定的对象,在将数据显示在屏幕上之前,在这两个系统之间进行计算和转换。

但是,由于iOS对本地化的支持很大,我想知道是否应该有比自己编写单位转换器更好的方法?

4

1 回答 1

0

存储公制或英制之一(我个人会使用公制),然后为每个创建一个访问器。

- (NSString *)metricUnitsString
{
   // format your string.
   return formattedString;
}

- (NSString *)imperialUnitsString
{
   // convert value to imperial units.
   // format your string.
   return formattedString;
}

如果要根据用户的语言环境显示字符串,可以查询[NSLocale currentLocale]并检查NSLocaleMeasurementSystem.

NSLocaleMeasurementSystem

与语言环境关联的测量系统的键。相应的值是一个 NSString 对象,其中包含对区域设置使用的测量系统的描述,例如“Metric”或“US”。

于 2013-02-15T03:52:44.643 回答