SwiftUI小技巧之List中ForEach如何获取当前的index(解决if问题)

技巧需求

List是SwiftUI最基础的控件,ForEach是循环构建界面的实用语句。但是如何获取到ForEach的Index确实个难题。另外ForEach中if语句也经常报错误。

看完本文您将掌握的技能

  • List中使用ForEach
  • 两种方式获得ForEach中的序号
  • 解决ForEach中if语句报错问题

Type '()' cannot conform to 'View'; only struct/enum/class types can conform to protocols

两种方法获取index

1、 方案1
使用数组下标做循环的内容,具体代码如下


SwiftUI小技巧之List中ForEach如何获取当前的index(解决if问题)_第1张图片
image.png
struct sj_foreach: View {
    let days = ["上古","周","秦","汉","三国","晋","南北朝","隋","唐","五代十国","宋","元","明","清"]
    var body: some View {
        List{
            ForEach(0..
  1. 方案二
    使用数组自带的inidces属性,替换方案一的传统书写方式。

你可能感兴趣的:(SwiftUI小技巧之List中ForEach如何获取当前的index(解决if问题))