【发布时间】:2021-06-13 22:11:12
【问题描述】:
我正在尝试格式化整数以将其显示为分钟,但我无法正确使用语法,并且文档对此仍然很清楚。这就是我正在尝试的:
let value: Int = 20
Text(value.formatted(.components(style: .abbreviated, fields: [.minute])))
// Compile error: Instance method 'formatted' requires the types 'Int' and 'Date.ComponentsFormatStyle.FormatInput' (aka 'Range<Date>') be equivalent
我正在尝试显示:20 min。如何使用来自 WWDC 2021 的 new Foundation formatters 改进来完成这项工作?
我可以这样做:
static let formatter: DateComponentsFormatter = {
let formatter = DateComponentsFormatter()
formatter.unitsStyle = .short
formatter.allowedUnits = [.minute]
return formatter
}()
Self.formatter.string(for: DateComponents(minute: value))
【问题讨论】:
-
您的代码中的语法应该应用于
Date相关值,这就是错误所说的内容。
标签: swiftui nsdateformatter foundation formatter nsnumberformatter