首先我有以下代码:
@State private var date = Date()
var dateFormatter: DateFormatter {
let formatter = DateFormatter()
formatter.dateStyle = .long
return formatter
}
然后在NavigationView中的窗体中有一个类似这样的日期选择器:
DatePicker(selection: $date, in: Date()..., displayedComponents: .date) {
Text("Datum")
}
现在,我想将日期值作为字符串发送到这样的另一个视图:
Button("Add") {
let item = ExpenseItem(validDate: self.date)
self.expenses.items.append(item)
}
但是我得到了错误:
无法将类型为“日期”的值转换为预期的参数类型为“字符串”
那么,如何将带dateFormatter的第一部分分配给日期以使其成为字符串?我不明白。
答案 0 :(得分:1)
考虑到快照代码应该是
Button("Add") {
let item = ExpenseItem(validDate: self.dateFormatter.string(from: self.date))
self.expenses.items.append(item)
}