При первом добавлении свойства id недостаточно, пользователь должен соответствовать Идентифицируемому
struct User: Identifiable, Codable {
var id: UUID
var name: String
}
Далее его легко использовать в качестве источника списка
struct ContentView: View {
@State private var users = [User]()
var body: some View {
VStack {
List(users) {
Text($0.name)
.font(.headline)
}
Button(action: {
let u = User(id: UUID(), name: "Name \(Int.random(in: 0 ..< Int.max))")
self.users.append(u)
}) {
Text("Add User")
}
}
}
}
Список знает Свойство id существует, поэтому вам не нужно использовать его в конструкторе List.