В моем приложении SwiftUI у меня есть вкладки в нижней части экрана. в другом случае, чтобы код оставался чистым, я хочу, чтобы каждая вкладка была в отдельном представлении / классе. На одной вкладке у меня есть список. По некоторым причинам я не могу переместить список в отдельное представление. Это мой исходный код: import SwiftUI
struct ContentView: View {
var rooms : [Rooms] = []
@State var selectedView = 1
var body: some View {
VStack {
TabView() {
List(rooms) { rooms in
Image(systemName: "heart.fill")
HStack {
VStack(alignment: .leading) {
Text(rooms.name)
.font(.headline)
Text("members")
.font(.body)
}
}
}.tabItem { Image(systemName: "waveform.path.ecg") }.tag(1)
ExtractedView().tabItem { Text("Tab Label 2") }.tag(2)
}
}
}
}
Вот как я пытался сделать отдельный вид:
struct ContentView: View {
var rooms : [Rooms] = []
@State var selectedView = 1
var body: some View {
VStack {
TabView() {
ExtractedView1(rooms: rooms).tabItem { Image(systemName: "waveform.path.ecg") }.tag(1)
ExtractedView2().tabItem { Text("Tab Label 2") }.tag(2)
}
}
}
}
struct ExtractedView1: View {
let rooms : Rooms
var body: some View {
List(rooms) { rooms in
Image(systemName: "heart.fill")
HStack {
VStack(alignment: .leading) {
Text(rooms.name)
.font(.headline)
Text("members")
.font(.body)
}
}
}
}
}
Есть идеи, почему это неправильно? Я получаю следующие ошибки:
Ошибка 1: [Комнаты] не преобразовываются в Комнаты
Ошибка 2: Generi c невозможно определить параметр SelectionValue
Если бы это было предложено, я бы даже переместил его в другой быстрый файл.