Чтобы использовать массив моделей во вью List в SwiftUI, эти модели должны соответствовать протоколу Identifiable.

Вот пример модели:

struct MyDataModel {
    let title: String
    let message: String
} 

А вот пример вью SwiftUI, в котором хотим показать список:

struct TestView: View {
    var dataArray: [MyDataModel]
    var body: some View {
        List(dataArray) { data in
            VStack {
                Text(data.title)
                Text(data.message)
            }
        }
    }
} 

Если использовать MyDataModel внутри List, Xcode выдаст ошибку:

Ошибка соответствия Identifiable в Xcode

Иногда модель просто так не поменять. Например, она может быть из стороннего SDK, который вы используете в приложении. Но можно написать обёртку для этой структуры, которая соответствует протоколу Identifiable:

struct MyDataModelWrapper: Identifiable {
    var id = UUID()
    var data: MyDataModel
}

let testDataModel = MyDataModel(
    title: "Title 1",
    message: "I wanna be used inside of a List"
)

let wrappedData = MyDataModelWrapper(data: testDataModel)

Тогда вью будет выглядеть так:

struct TestView: View {
    var dataArray: [MyDataModelWrapper] 

    some View {
        List(dataArray) { wrappedData in
            VStack {
                Text(wrappedData.data.title)
                Text(wrappedData.data.message)
            }
        }
    }
}

Готово.