从ForEach中引用变量时,SwiftUI“无法推断通用参数'数据'

时间:2019-11-17 21:52:02

标签: swiftui

由于某种原因,当我尝试在ForEach中引用变量时,它给了我以下错误:无法推断通用参数“ Data”,请明确指定通用参数来解决此问题”

我真的不知道为什么这会引发错误,对我来说似乎很简单,但是我被困住了

    struct OptionsScrollView: View {

    @State var scrollOptions = [
        "test1",
        "test2",
        "test3"
    ]
    @State var optionHeight = 50

var body: some View {
    GeometryReader{outerGeo in

        ScrollView{

            VStack{
                ForEach(self.scrollOptions.indices) {i in

                    GeometryReader {optionGeo in

                        Text( self.scrollOptions[i] )

                    } // end optionGeo
                        .frame(width: 100, height: self.optionHeight)
                        //                         ^^^^^^^^^^^^^^^^^
                        //                         adding this gives me the error

                } // end ForEach

            } // end VStack

        } // end ScrollView

    } // end outerGeo
    }

}

2 个答案:

答案 0 :(得分:0)

删除ScrollView上方的GeometryReader可以解决我的问题,不知道为什么!

答案 1 :(得分:0)

更正此问题:@State var optionHeight:CGFloat = 50

->编译器假设optionHeight是一个Int,如果您不告诉他;)