SwiftUI 返回类型错误:无法将类型为"Foundation.Date"的返回表达式转换为返回类型"BarCharts.Date"



我正在做一个条形图在我的SwiftUI应用程序,但是我遇到了一个问题…

struct ViewMonth: Identifiable {
let id = UUID()
let date: Date
let viewCount: Int
}

我在上面的代码中定义了几个变量类型。

struct Date {
static func from(year: Int, month: Int, day: Int) -> Date {
let components = DateComponents(year: year, month: month, day: day)
return Calendar.current.date(from: components)!
}
}

似乎我不能转换表达式类型'Foundation。日期"到"barcharts .日期"。我看不懂错误信息。请帮助!

我希望代码不会产生错误。

错误提示您的Date类型与Foundation中现有的Date类型的术语冲突。

基本上有三个选项:

  1. extension Date代替struct Date
  2. 将结构体Date重命名为不会干扰Foundation框架中的任何类型的结构体。
  3. 声明所有自定义类型的实例为BarCharts.Date

我推荐第一个选项。

有两种类型:Date是每个人都使用的日期类型。我假设你在Barcharts类中定义了struct Date,所以它是Barcharts.Date.

" from "函数被声明为返回Date -这是Barcharts.Date的快捷方式。现在错误消息应该是有意义的。你想让它返回什么由你来决定。

相关内容

  • 没有找到相关文章