首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SwiftUI ForEach了解变量用法

SwiftUI ForEach了解变量用法
EN

Stack Overflow用户
提问于 2019-11-27 17:53:30
回答 1查看 382关注 0票数 0

下面的代码对我是有效的.

代码语言:javascript
复制
VStack {
    ForEach(0..<self.rows, id: \.self) { row in
        HStack {
            ForEach(0..<self.columns, id: \.self) { column in

                //let data = self.item(row: row, column: column)

                Group {
                    if self.item(row: row, column: column) != nil {

                        self.content(self.item(row: row, column: column)!).frame(width: geometry.size.width/CGFloat(self.columns))

                    } else {
                        Spacer()
                    }
                }
            }
        }
    }
}

但是,当我取消注释data变量,并用数据使用替换item()调用,甚至添加return Group { }时,它停止工作并且无法推断返回类型?

EN

回答 1

Stack Overflow用户

发布于 2020-08-17 23:38:03

在Xcode12beta中,只需将type添加到param。

我的示例代码:(我更喜欢划分SwiftUi内容..否则就太乱了..)请参阅near 彩色

代码语言:javascript
复制
struct Issue: Identifiable{
        var id  = UUID()
        var name = ""
        var fakeMsg = ""
        var operatorInCharge = ""
        var solved = false
    }
    
    

struct CurrentIssuesView: View {
    
    let roomIssues = [
        Issue(name: "ROOM 1", fakeMsg: "2020-09-05 proiettore", operatorInCharge: "m.a", solved: true),
        Issue(name: "ROOM 1", fakeMsg: "2020-09-04 wifi", operatorInCharge: "a.b"),
        Issue(name: "ROOM 2", fakeMsg: "2020-09-04 Audio", operatorInCharge: "m.c", solved: true),
        Issue(name: "ROOM 3", fakeMsg: "2020-09-04 KBD", operatorInCharge: "m.d")
    ]
    
    
    var body: some View {
        
        let vs = VStack{
            
            Text("Current ISSUES")
            
            List(roomIssues) { (issue: Issue) in
                
                let color = issue.solved ? Color.green : Color.red
                HStack{
                    Text(issue.name).font(.system(size: 20)).foregroundColor(color)
                    Text(issue.fakeMsg)
                }
            }
        }
        return vs
    }
}

我得到了:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59067418

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档