SwiftUI Tutorials: 3日目

今日は「Building Lists and Navigation」にチャレンジ。

内容は、UIKitで言う所の、

  • UITableViewを内包したUINavigationControllerを実装し
  • セルをタップして対応する項目の詳細画面に遷移する

という仕様を実装するというもの。

このために必要な実装は、

  • NavigationViewをListで包含するだけ
  • 画面遷移は、セルにあたるViewをNavigationButton(destination: 遷移先画面View)で包含するだけ

まさに「何を表示したいか」を純粋に記述すればよい。Objective-Cのような、初学者の心を挫くdelegateやdata sourceといった概念は存在しない。

ほかに気がついたこと。

  • セルにあたるビューの一部だけをNavigationButtonで包含しても、その部分のみを遷移のトリガーにすることはできなかった
  • バグなのか、遷移を繰り返すことで高頻度でクラッシュした

 

ちなみに、チュートリアルのコードが間違っているので、そのままコピペしてもレイアウトが異なるので注意。後々修正されるだろう。一応記録しておく。

 

  • Create the Row View: チュートリアル上の実装に右端Spacerが足りない

 

続きは週末に…

 

コメントを残す