gpt4 book ai didi

ios - SwiftUI 中的堆叠 View

转载 作者:行者123 更新时间:2023-11-29 05:18:49 25 4
gpt4 key购买 nike

我尝试使用 SwiftUI 将一个 View 传递到另一个 View ,但出现以下错误。

FormView.Type' 无法转换为 '(FormDetails) -> FormView'

这就是我正在尝试做的事情。我正在尝试创建一个“表单 View ”并在“吉他详细信息” View 中调用它。这是代码。任何帮助将不胜感激。

FormDetails.swift

import Foundation
>
> struct FormDetails: Hashable {
> let name: String
> }
>
> let formData: [FormDetails] = [
> .init (name: "Simon Ambridge"),
> .init (name: "Martin"),
> .init (name: "Fender"),
> .init (name: "Washburn"),
> .init (name: "Gibson") ]

FormView.swift

import SwiftUI


struct FormView: View {

var formView: FormDetails

var body: some View {
Form {
Text(formView.name)
}
}
}
struct FormView_Previews: PreviewProvider {
static var previews: some View {
FormView(formView: formData[0])
}
}

GuitarDetails.swift

import SwiftUI

struct GuitarDetails: View {

var selectedGuitar: Guitar

@State private var zoomed = false

var body: some View {
NavigationView {
VStack {
Image(selectedGuitar.imageName)
.resizable()
.aspectRatio(contentMode: zoomed ? .fill: .fit)
.onTapGesture { withAnimation {self.zoomed.toggle()}}
}.navigationBarTitle(Text(selectedGuitar.name), displayMode: .inline)
FormView() ***<----FormView.Type' is not convertible to '(FormDetails) -> FormView'***
}
}
}

struct GuitarDetails_Previews: PreviewProvider {
static var previews: some View {
GuitarDetails(selectedGuitar: guitars[2])
}
}

最佳答案

就像@Sweeper所说,您需要在创建FormView时设置formDetails属性。将值传递到其构造函数中。

关于ios - SwiftUI 中的堆叠 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58891138/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com