代码之家  ›  专栏  ›  技术社区  ›  Peel

将应用程序从CoreData切换到SwiftData会产生backingData错误

  •  0
  • Peel  · 技术社区  · 2 年前

    我正在将一个工作应用程序从CoreData转换为SwiftData。我在一个视图中有一个按钮,它调用另一个视图: NewFuelView() NewFuelView() 设置几个@State变量,其中一个是类对象:

    @State vehicle = Vehicle()
    

    该值由用户从选择器中填充。这在CoreData下运行良好,但在SwiftData中返回以下错误:

    Missing argument for parameter 'backingData' in call
    Insert 'backingData: <#BackingData<Vehicle>#>'
    

    我可以通过将var声明为

    @State var vehicle: Vehicle
    

    但是我需要为 NewFuelView(vehicle: ) 调用视图时,但没有要传递的值。

    网上搜索 backingData 没有返回任何有用的信息。

    我想知道的是:

    1. 我可以申报吗 @State var vehicle: Vehicle 而不触发调用视图要求我传递一个参数。
    2. -或者-我该如何申报 @State var vehicle = Vehicle() 以便我提供SwiftData所需的备份数据。
    0 回复  |  直到 2 年前