![d5f8b380e071a48cc7f7275f89d5a04e.png](https://i-blog.csdnimg.cn/blog_migrate/29103c6e45daaad0dc35c92fd23ada72.jpeg)
译自 Creating views in a loop
更多内容,欢迎关注公众号:Swift花园
喜欢文章?不如来个 ➕三连?关注专栏,关注我
利用循环创建视图
在 SwiftUI 中利用循环一次创建多个视图很常见。举个例子,我们可能需要遍历一个名字的数组,为每个名字创建一个文本视图,或者遍历一个菜单的数组,将每个菜单展示为一张图片。
为此,SwiftUI 也提供给我们一种专门的视图类型 —— ForEach
。是的,你没看错,是 ForEach 视图类型。它会遍历数组和范围,尽可能地按需创建视图。不仅如此,ForEach
并不受最多10个子元素的限制。
ForEach
为每一个它遍历过的项目运行闭包,把当前项目传入闭包。举个例子,如果我们从0到99遍历,它将传入0,然后是1,然后是2,直到99。
举个例子,下面的代码会创建一个包含100个行的表单:
Form {
ForEach(0 ..< 100) {
number in
Text("Row (n