Ios 根据用户选择的指标更改应用程序中使用的权重系统?
我想在我的应用程序中为用户提供英制或公制重量计量的选择,以提高受众的适应性。我设计了以下内容,以便确定用户希望使用的设置 然而,我不确定如何将度量选择应用到整个应用程序的其余部分?是否会将应用程序延伸到用户在coredata中创建的每个对象以及与重量测量相关的所有文本标签中,并在用户每次更改重量系统时通过乘法或除法改变其重量属性 感谢您对我如何实现这一目标的任何见解,因为我不想在错误的方向上走得太远Ios 根据用户选择的指标更改应用程序中使用的权重系统?,ios,swift,core-data,Ios,Swift,Core Data,我想在我的应用程序中为用户提供英制或公制重量计量的选择,以提高受众的适应性。我设计了以下内容,以便确定用户希望使用的设置 然而,我不确定如何将度量选择应用到整个应用程序的其余部分?是否会将应用程序延伸到用户在coredata中创建的每个对象以及与重量测量相关的所有文本标签中,并在用户每次更改重量系统时通过乘法或除法改变其重量属性 感谢您对我如何实现这一目标的任何见解,因为我不想在错误的方向上走得太远 func convertAppMetric() { if self.userSelect
func convertAppMetric() {
if self.userSelectedWeightSystem == "Metric" {
print("THE USER SET THE APP TO METRIC, CONVERTING FIGURES...")
//some code
} else if self.userSelectedWeightSystem == "Imperial" {
print("THE USER SET THE APP TO IMPERIAL, CONVERTING FIGURES...")
//some other code
}
}
这将是一个非常讨厌的答案,但你想继续读下去 NSMeasurement同时保存一个值和一个单位,后者是原始测量类型。您以最初提供的格式存储所有数据-如果用户输入磅,则存储182磅的NSMeasurement。如果他们加了公斤,就用90公斤做一个。你甚至可以用自己的单位,比如石头 从那时起,始终使用NSMeasurementFormatter呈现数据。您可以传入输出类型,在您的例子中,它是您在问题中提到的全局设置。这意味着,无论他们提供什么单位,它总是正确地转换成你想要的单位,并且改变它会立即改变任何地方
它很容易使你自己的转换器奇怪的单位。我为十进制英寸和英尺/英寸做了一个,所以13.5英寸变成1'1.5英寸“我只需要在核心数据模型中存储一个值,并用一个简单的计算属性处理公制/英制转换。您能对此进行扩展吗?我是swift和ios的新手!目前,用户存储他们输入的任何重量,例如一个通用的“60”,因此假设这是一个度量,如果应用程序运行Imperial,我需要在其上运行x2.2。好消息是,如果您的目标是iOS8+,那么已经有系统提供的格式化程序,用于所有类型的内容,例如字节数、能量、长度,Mass等,它将根据给定的区域自动处理转换和适当的单位显示。这听起来是最好的解决方案,我必须研究将该方法集成到我现有的核心数据代码中!另请参见,您是否知道当设置为USA时,它显示指标良好的任何可能原因,但当我将其设置为UK以获得KG时,它不会将数据加载到文本字段中,尽管它在控制台中打印并运行与USA配置相同的代码。因此,请确定,当您将其设置为US时,您是否获得磅数?也许可以在问题中粘贴两种情况的一点输出。这可能只是一个屏幕更新问题,但我对此表示怀疑。