(3) プレビュー画面を作るには (3.1) ContentView()の例 struct ContentView: View { // こっちは表示用 } // これでプレビューができる struct ContentView_Previews: PreviewProvider { static var previews: some View { ContentView() } } (3.2) LandmarkList()の例 struct LandmarkList: View { // こっちは表示用 } // これでプレビューができる struct LandmarksList_Previews: PreviewProvider { static var previews: some View { LandmarkList().environmentObject(UserData()) } } // プレビューを2つ表示 struct LandmarksList_Previews: PreviewProvider { static var previews: some View { ForEach(["iPhone SE", "iPhone XS Max"], id: \.self) { deviceName in LandmarkList() .previewDevice(PreviewDevice(rawValue: deviceName)) .previewDisplayName(deviceName) }.environmentObject(UserData()) } } (3.3) LandmarkDetail()の例 struct LandmarkDetail: View { // こっちは表示用 } // これでプレビューができる。表示対象は0番目 landmarks[0] struct LandmarkDetail_Preview: PreviewProvider { static var previews: some View { let userData = UserData() return LandmarkDetail(landmark: userData.landmarks[0]) .environmentObject(userData) } } (3.4) LandmarkRow()の例 struct LandmarkRow: View { // こっちは表示用 } // これでプレビューができる。表示対象は0,1番目 struct LandmarkRow_Previews: PreviewProvider { static var previews: some View { Group { LandmarkRow(landmark: landmarkData[0]) LandmarkRow(landmark: landmarkData[1]) } .previewLayout(.fixed(width: 300, height: 70)) } }