如何解决使用新的 Foundation 格式化程序将整数格式化为分钟?
我正在尝试格式化一个整数以将其显示为分钟,但我无法获得正确的语法并且文档对此仍然很清楚。这就是我正在尝试的:
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))
解决方法
要格式化一个整数,你需要一个 NumberFormatter。或者你可以这样做:
Text("\(value) min")
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。