ユーザが書いたブログのデータをrealmから取得して、タイトルだけを一覧にして、タイトルをNavigationLinkにしてクリックできるようにしたいと思っていました。
一覧はForEachかListループして、クロージャの中でNavigationLinkを書く。下記のようなイメージ:
ForEach(diaries!, id: .self){ diary in
NavigationLink(destination:DiarycontentView(diaries: diary),label:{
Text(diary.diaryTitle)
})
}
シミュレータで確認すると、タイトルをクリックし、DiarycontentViewへ遷移した途端、一覧ページへ戻っちゃう奇妙現象発生でした。(Qiita初心者で画像/動画添付できず許してください)
調べてみてStackoverFlowも色々見ました。先輩にも見てもらって、解決案が二つでした。
①NavigationLinkをクロジャーの中ではなく、ForEachループの外へ移動。
②ForEachの外でさらにScrollViewを使う。
↑こちらの記事を参照:https://masamichi.me/development/2019/10/21/swiftui-list-multiple-navigationlink.html
②の方法が完璧に解決できました!
けど、こういう記事一覧みたいなのは、NavigationLinkじゃなくて他にもっといいやつがありますよねきっと。みなさんもしご存知でしたら、ぜひお教えいただけますと幸いです!知りたいです!