如何在 ForEach 循环中获取计数变量

Posted

技术标签:

【中文标题】如何在 ForEach 循环中获取计数变量【英文标题】:How to take count variable inside ForEach Loop 【发布时间】:2020-08-10 11:35:13 【问题描述】:

请帮助从嵌套的 ForEach 循环中获取 count 变量,以及如何在 SwiftUI 代码中使用它(例如,@Struct var)

  VStack 
            // Loop of Goals with Task
            ScrollView(.vertical, showsIndicators: false) 
                VStack() 
                    ForEach(goals, id: \.self) goal in
                        VStack
                            Text(goal.wrappedName)
                                .padding(.all)
                            Spacer()
                            ForEach(goal.taskArray, id: \.self)  task in
                                Text(task.wrappedName)
                            
                            .padding()
                        
                    
                    .frame(width: UIScreen.main.bounds.width / 1.1, height: 500,
                           alignment: .topLeading)
                    .background(Color.pink)
                    .cornerRadius(16)
                    .padding(.top, 10)
                    .animation(.spring())
                
                .frame(alignment: .center)
            

我正在尝试使用 var taskCount = task.wrappedName.count,但不知道如何在代码周围使用(出现错误:从未使用变量“taskCount”的初始化;考虑用赋值替换'_'或删除它)

【问题讨论】:

不清楚你想在哪里/如何使用task.wrappedName.count。你能详细说明一下吗? 或您尝试创建taskCount 的位置以及您想要使用它的位置。 ...想在下面使用,in .frame(height: > if count 所以这不是 taskName 的大小,而是您要使用的数组的大小。 是的,我的目标有多少任务(CoreData 一对多关系),以及如何在代码中使用这个 Int 【参考方案1】:

....所以它不是 taskName 的大小,而是您要使用的数组的大小。 – Joakim Danielson...是一个正确的答案

Text("\(goal.taskArray.count)")

【讨论】:

以上是关于如何在 ForEach 循环中获取计数变量的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Java 中的 Iterable 的 for 循环中创建一个计数器并获取计数器变量的值

如何在 SwiftUI 的 ForEach 循环中增加状态?

我们如何在 laravel php 刀片模板中为 foreach 循环定义循环变量

如何在刀片foreach循环中获取迭代次数

如何在 foreach 循环代码中重构此变量分配?

如何在php中访问foreach循环之外的多个变量