我正在学习Swift并尝试理解这个forEach循环。我完全理解单迭代循环:
stackVC.forEach { i in
// do something
}
对于循环中的每次迭代(i),执行某些操作。但在下面的例子中," i"什么是" j"?对于上下文,stackVC是一个UIViewController的数组,它们被放在一起进入容器视图控制器。
stackVC.enumerated().forEach { i, j in
let pageViewController = UIViewController()
j.view.frame = pageViewController.view.bounds
j.view.autoresizingMask = [
.flexibleWidth,
.flexibleHeight
]
pageViewController.addChildViewController(j)
pageViewController.view.addSubview(j.view)
j.didMove(toParentViewController: pageViewController)
stackPageVC.append(pageViewController)
}
答案 0 :(得分:3)
使用enumerated.forEach时,您将获得offset
和元素。
请注意,根据Martin的评论。偏移量与索引不同,因此可能不一定是实际索引。