// 案1. info.viewにnavigationLinkCellをif文で並べる。最終手段 if (text_info == "Experiment1") { NavigationLinkCell(title:text_info,destination: Experiment1()) } elseif (... // 案2. @ViewBuilderを使ってViewを返すメソッドを作る。swich case使うから案1とあんまり変わらないけどすっきりする(動作未検証) // 参考サイト https://qiita.com/snoozelag/items/2187b94bf9e20343e02c struct collisiontest_info: View { @Binding var text_info : String var body: some View { VStack{ Text("説明!") .font(.largeTitle) if let asset = NSDataAsset(name: text_info) { let sampletext = String(data: asset.data, encoding: .utf8) Text(sampletext!) } Spacer() NavigationLink(destination: NextView()){ Text(text_info) .modifier(Infomodifier())} } } @ViewBuilder private func NextView() -> some View { switch text_info { case "Experimet1": Experimet1() case "Experimet2": Experimet2() case "Experimet3": Experimet3() default: break } } } /* 案3 いっその事menu.view -> info.view -> Experimwnt.viewじゃなくて menu.view -> Experimwnt.view -> info.viewにする。実験画面からhelpボタンで 説明画面を呼び出すようにすれば今の問題は一応解決する。CS版で応相談。 */