在iOS项目中存储Core Data中的度量单位的好策略

时间:2013-02-15 03:21:16

标签: ios core-data localization units-of-measurement

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

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

1 个答案:

答案 0 :(得分:0)

存储metric或imperial中的一个(我个人使用公制),然后为每个建立一个访问者。

- (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”或   “U.S。”