在带有两个迭代变量的forEach闭包循环中,每个变量代表什么?

时间:2017-08-17 19:45:08

标签: ios swift loops

我正在学习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)
    }

1 个答案:

答案 0 :(得分:3)

使用enumerated.forEach时,您将获得offset和元素。

请注意,根据Martin的评论。偏移量与索引不同,因此可能不一定是实际索引。