配列を持つViewたちの配列を別のViewでList表示

Listの中でNavigationLinkを用いています。

ContentViewのそれぞれのRowをArrayViewにそれぞれのタップ時に中の配列を表示したい

実現したいこと

ContentViewのそれぞれのrowをAnotherViewの Listに表示したい

発生している問題・エラーメッセージ

Static method 'buildBlock' requires that 'String' conform to 'View'

該当のソースコード

SwiftUI

import SwiftUI var passedPinned: [String]? struct ArrayView: View { @State var array = [] @State var row : folderRow var body: some View { NavigationView { List{Section(header: Text("array"))NavigationLink(destination: ContentView(textEditorText: array[index], index: index), label: {Text(array[index])}) if row = ContentView.aFolder { array = ContentView.aFolder } if row = ContentView.bFolder { array = ContentView.bFolder } else { array = ContentView.cArray } } } } } struct ContentView: View { @State var pinned = ["pinned"] @State var aFolder = [""] @State var bFolder = [""] @State var cFolder = [""] var body: some View { NavigationView { List{ folderRow(rowArray: aFolder, rowImage: Image(systemName: "heart"), rowTitle: "Like") folderRow(rowArray: bFolder, rowImage: Image(systemName: "trash"), rowTitle: "Dust") folderRow(rowArray: cFolder, rowImage: Image(systemName: "folder"), rowTitle: "Folder") Section(header: Text("テキスト")) { ForEach(0..<self.pinned.count) { index in NavigationLink(destination: AnotherView(), label: {Text(pinned[index])}) .onAppear(perform: { if let recive = passedPinned { pinned = recive } }) .onDisappear(perform: {passedPinned = pinned}) } } } } } } struct AnotherView: View { var body: some View { Text("AnotherView") } } struct folderRow: View { @State var rowArray: [String] = [] @State var rowImage = Image(systemName: "folder") @State var rowTitle: String var body: some View { HStack{ rowImage rowTitle Text("\(rowArray).count") } }}

試したこと

補足情報(FW/ツールのバージョンなど)

Xcodeのバージョンは14.1です。

コメントを投稿

0 コメント