首页 > 解决方案 > SwiftUI Initialzier 要求 String 符合 Identifiable

问题描述

我第一次尝试编写一些 SwiftUI 代码,但在尝试制作简单的表格视图时遇到了问题。在这段代码teams中是一个数组String,但是List给了我以下错误:Initializer 'init(_:rowContent:)' requires that 'String' conform to 'Identifiable'

var body: some View {
        let teams = getTeams()
        Text("Hello there")
        List(teams) { team in
            
        }
        
    }

有人知道这意味着什么吗?

标签: swiftswiftui

解决方案


的参数List必须是唯一的,这就是Identifiable协议的目的

你可以做

List(teams, id: \.self) { team in

但是有责任确保字符串是唯一的。如果不是,你会得到意想不到的行为。

更好的是使用具有唯一id符合的自定义结构Identifiable


推荐阅读