XCode 12.4 日本語化計画:Swift Tutorials
ビルドリストとナビゲーション
次に、LandmarkList_Previews プレビュープロバイダーにコードを追加して、さまざまなデバイスサイズでリストビューのプレビューをレンダリングします。デフォルトでは、プレビューはアクティブなスキームのデバイスのサイズでレンダリングされます。プレビューデバイスを変更するには、previewDevice(_:) 修飾子メソッドを呼び出します。
ステップ 1
現在のリストプレビューを変更して、iPhone SE のサイズでレンダリングすることから始めます。
Xcode の scheme メニューに表示されるデバイスならどれでもその名前を指定できます。
ステップ 2
リストプレビュー内で、デバイス名の配列をデータとして使用して、LandmarkList を ForEach インスタンスに埋め込みます。
ForEach は、リストと同じ方法でコレクションを操作します。つまり、スタック、リスト、グループなど、子ビューを使用できる場所であればどこでもそれを使用できます。データの要素が単純な値型である場合 (ここで使用している文字列など)、識別子へのキーパスとして\.self を使用できます。
ステップ 3
プレビューのラベルとしてデバイス名を追加するには、previewDisplayName(_:) 修飾子を使用します。
ステップ 4
さまざまなデバイスを試して、キャンバスからすべてのビューのレンダリングを比較できます。
    LandmarkList.swift
上記のリストの 18 行目からを、以下のように修正します。
    LandmarkList.swift
上記のリストを、21 行目を以下のように修正します。
セクション 1 | セクション 2 | セクション 3 | セクション 4 |
セクション 5 | セクション 6 | セクション 7 | セクション 8 |
セクション 101 | セクション 102 | セクション 103 | セクション 104 |
セクション 105 | セクション 106 | セクション 107 | セクション 108 |
フレームワーク
リストに加えて、コレクションからのビューの動的リストを表示する型はどれですか?
Group |
ForEach |
UITableView |
Identifiable な要素のコレクションからビューの List を作成できます。Identifiable なプロトコルに準拠していない要素のコレクションを適応させるために、どのようなアプローチを使用しますか?
データの map(_:) を呼び出す。 |
データの sorted(by:) を呼び出す。 |
キーパスをデータと一緒に List(_:id:) に渡す。 |
List の行をタップ可能にして別のビューに移動できるようにするために、どの型を使用しますか?
NavigationLink |
UITableViewDelegate |
NavigationView |
これらの選択肢のうち、ビューをプレビューするためのデバイスを設定する方法では ない ものはどれですか?
アクティブなスキームで選択したシミュレータを変更する。 |
Xcode の環境設定のキャンバス設定で別の選択をする。 |
PreviewDevice(_:) メソッドを使用して 1 つ以上のデバイスを指定する。 |
開発デバイスを接続し、[デバイスプレビュー(Device Preview)] ボタンをクリックします。 |
ランドマークアプリでは、ユーザはお気に入りの場所にフラグを立て、リストをフィルタリングしてお気に入りだけを表示できます。この機能を作成するには、まずリストにスイッチを追加して、ユーザが彼らのお気に入りだけに集中できるようにします。次に、ユーザがタップしてランドマークにお気に入りのフラグを立てられる星型のボタンを追加します。