Closed12
SwiftUIチュートリアルをやってみる
ピン留めされたアイテム
このスクラップについて
長らくSwiftを触っていなくて(3年くらい)色々思い出しながらSwiftUIを只今勉強中です。
Apple公式のSwiftUIのチュートリアルを進めながら、その中で覚えたことをここにメモしていきます。
Chapter 1 : SwiftUI Essentials
Building Lists and Navigation
Section 1 : Create a Landmark Model
- Landmarkというモデル構造体を作る
- コレクションに入れるためにHashableプロトコルに準拠
- JSONファイルからLandmark情報を反映させるためにCodableプロトコルに準拠
Section 2 : Create the Row View
- LandmarkをListで行で表示するためのViewクラスを作る
- クラス生成時にLandmarkを渡し、その情報を元に行を表示する
Section 3 : Customize the Row Preview
- プレビューに2つのViewを表示する
こんな感じで Group で 複数のViewを囲めば
複数表示される。
Section 4 : Create the List of Landmarks
- List に 複数のLandmarkを表示する
- 以下のようにListで表示したいクラスを囲む
Section 5 : Make the List Dynamic
- Landmarkの配列内の全てをListに動的追加する
- List に動的に追加するには2つ方法あり
- データとともに各要素を一意に識別するプロパティへのキーパスを渡すか
- データ型をIdentifiableプロトコルに準拠させるか
- データとともに各要素を一意に識別するプロパティへのキーパスを渡すか
Section 6 : Set Up Navigation Between List and Detail
- List内のLandmarkから表示するDitail画面を作成する
- LandmarkのListを表示するViewにNavigationViewを追加
- NavigationViewのタイトルを表示
- List にLandmarkを動的に追加する際にNavigationLinkを追加
- リンク先のDitail画面を指定する
- リンク先のDitail画面を指定する
Section 7 : Pass Data into Child Views
- Ditail画面に遷移時に Landmark情報を渡して内容を表示する
- Ditail画面内に表示する子Viewを作成
- Landmark画像View
- LandmarkマップView
- CLLocationCoordinate2D : 緯度経度値をもつ構造体
- MKCoordinateSpan : 縮尺
- MKCoordinateRegion : CLLocationCoordinate2D(経緯度)とMKCoordinateSpan(縮尺)を持った構造体
Section 8 : Generate Previews Dynamically
- プレビュー画面を動的に生成する
デバイス名の配列をループする。
こんな感じで表示される。
Handling User Input
Section 1 : Mark the User’s Favorite Landmarks
- Listに表示したLandmarkを拡張して、お気に入りマーク表示させる
このスクラップは2021/01/19にクローズされました