Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

初めてのアプリ トラブル日記 swift--NavigationLinkとForEach/Listの相性悪っ

ユーザが書いたブログのデータを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じゃなくて他にもっといいやつがありますよねきっと。みなさんもしご存知でしたら、ぜひお教えいただけますと幸いです!知りたいです!

Yuehan
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away