在ForEach/ZStack(SwiftUI)中将表达式分解为不同的子表达式
我在最新的SwiftUI上遇到了一个小问题,错误是“编译器无法在合理的时间内对该表达式进行类型检查;请尝试将该表达式拆分为不同的子表达式” 我的代码是这样的:在ForEach/ZStack(SwiftUI)中将表达式分解为不同的子表达式,swift,xcode,swiftui,Swift,Xcode,Swiftui,我在最新的SwiftUI上遇到了一个小问题,错误是“编译器无法在合理的时间内对该表达式进行类型检查;请尝试将该表达式拆分为不同的子表达式” 我的代码是这样的: let cards = ["Azertyuiop", "Bzertyuiop", "Czertyuiop", "Dzertyuiop", "Ezertyuiop", "Fzertyuiop", "Gzertyuiop", "Hzertyuiop", "Izertyuiop", "Jzertyuiop", "Kzertyuiop", "Lz
let cards = ["Azertyuiop", "Bzertyuiop", "Czertyuiop", "Dzertyuiop", "Ezertyuiop", "Fzertyuiop", "Gzertyuiop", "Hzertyuiop", "Izertyuiop", "Jzertyuiop", "Kzertyuiop", "Lzertyuiop", "Bzertyuiop", "Czertyuiop", "Dzertyuiop", "Ezertyuiop", "Fzertyuiop", "Gzertyuiop", "Lzertyuiop", "Bzertyuiop", "Czertyuiop", "Dzertyuiop", "Ezertyuiop", "Fzertyuiop", "Gzertyuiop", "Lzertyuiop", "Bzertyuiop", "Czertyuiop", "Dzertyuiop", "Ezertyuiop", "Fzertyuiop", "Gzertyuiop"]
var body: some View {
ScrollView{
VStack (spacing: 0, content: {
ForEach(0..<cards.count/3) { row in // create number of rows
HStack (spacing: 0, content: {
ForEach(0..<3) { column in // create 3 columns
ZStack(alignment: .bottomLeading){
Image("ghost").resizable().aspectRatio(contentMode: .fill)
.overlay(Rectangle().fill (LinearGradient(gradient: Gradient(colors: [.clear, .black]),startPoint: .center, endPoint: .bottom)).clipped())
Text(self.cards[row * 3 + column]) // this cause the error
.fontWeight(.semibold)
}
}
})
}
})
}
}
let cards=[“Azertyuiop”,“Bzertyuiop”,“Czertyuiop”,“Dzertyuiop”,“Ezertyuiop”,“Fzertyuiop”,“Gzertyuiop”,“Hzertyuiop”,“Izertyuiop”,“Jzertyuiop”,“Kzertyuiop”,“Lzertyuiop”,“Bzertyuiop”,“Czertyuiop”,“Dzertyuiop”,“Ezertyuiop”,“Fzertyuiop”,“Gzertyuiop”,“Lzertyuiop”,“Bzertyuiop”,“Ezertyuiop”,“Fzertyuiop”、“Gzertyuiop”、“Lzertyuiop”、“Bzertyuiop”、“Czertyuiop”、“Dzertyuiop”、“Ezertyuiop”、“Fzertyuiop”、“Gzertyuiop”]
var body:一些观点{
滚动视图{
VStack(间距:0,内容:{
ForEach(0..有两个问题。一个是使用ZStack与叠加,另一个是线性渐变是一个视图,您可以直接使用它
ZStack(alignment: .bottomLeading){
Image("ghost").resizable().aspectRatio(contentMode: .fill)
LinearGradient(gradient: Gradient(colors: [.clear, .black]),startPoint: .center, endPoint: .bottom).clipped()
Text(self.cards[row * 3 + column]) // this cause the error
.fontWeight(.semibold)
}
我运行了您的代码,没有收到任何错误,因此,请尝试清理生成文件夹或更新到最新的Xcode版本