前提・実現したいこと
swiftで音声認識を行い、その結果と一致する要素があった場合に画面推移を行い、一致した要素をListで一覧にするappを作っています。
let mylist =
[["葛根湯", "カッコントウ", "1", "なし"],
["葛根湯加川きゅう辛夷", "カッコントウセンキュウシンイ", "2", "なし"],
["乙字湯", "オツジトウ", "3", "なし"]]
上記の2次元配列から一致した要素が含まれる場合、空の配列に一致した要素が含まれる配列を挿入します。
発生している問題・エラーメッセージ
検索Buttonを押すと、action内を実行し、その後画面推移がされる様にしたいのですが画面推移しないです。
該当のソースコード
var body: some View { NavigationView{ VStack{ Text("(shareWord[0])") //音声認識結果 Text("(shareWord2[0])") //音声認識結果カタカナ Button(action: { // 音声認識 }) { // マイク画像 } NavigationLink(destination: Resultlist()){ //リスト一覧へ画面推移 Button(action: { //検索ボタン self.userData.match.removeAll() //前回の結果がそのまま入っているので一度消す。 for i in mylist{ //mylist内を検索 for j in i{ if j.contains(shareWord2[0]){ //音声認識結果と一致した要素があったら空の配列に挿入 self.userData.match.append(i) } } } if self.userData.match == []{ //一致しなかった場合に表示する配列 self.userData.match.append(["該当なし","該当なし","該当なし","該当なし"]) } }){ Text("検索") } }.navigationBarTitle("Home") }
試したこと
検索ボタンと、Text("表示")を上記と同じ要領でNavigationLinkで画面推移する様にした物の2つに分けた場合は上手く動きました。
補足情報(FW/ツールのバージョンなど)
Xcode11.3.1 Swift5
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/08 12:17