Обновленный ответ: Не уверен, что я правильно понял ваш вопрос, но если вы просто хотите получить список, из которого можно добавлять и удалять объекты, то проще всего будет создать отдельный файл SwiftUI, содержащий структуру для строки и Класс ObservableObject, который проверяет наличие любых изменений.
1) Файл SwiftUI со структурой ListItem и класс ObservableObject:
import SwiftUI
struct ListItem: Identifiable {
let id = UUID()
let title: String
}
class Items: ObservableObject {
@Published var rows = [ListItem]()
}
2) ContentView с вашим представлением изображения и список:
Также имеется метод removeItems, поэтому вы можете провести любую строку, чтобы удалить ее.
struct ContentView: View {
@ObservedObject var items = Items()
var body: some View {
NavigationView{
VStack{
Image("image")
.resizable()
.frame(width: 200, height: 200)
.padding(50)
List {
ForEach(items.rows) { item in
Text(item.title)
}
.onDelete(perform: removeItems)
}
}
.navigationBarTitle("My List")
.navigationBarItems(trailing: Button(action : {
let row = ListItem(title: "New Row")
self.items.rows.append(row)
}) {
Image(systemName: "plus")
}
)
}
}
func removeItems(at offsets: IndexSet) {
items.rows.remove(atOffsets: offsets)
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}