実現したいこと
JSONファイルを扱うViewをSwiftUIチュートリアルを基に作成したい
エラーが出ないよう、チュートリアルとほぼ同じ形でコーディングしたのですが解決できないため質問させて頂きます。
発生している問題・エラーメッセージ
Cannot preview in this file - ***.app may have crashed.
該当のソースコード(SwiftUI Tutorialを基に作成)
json
1[ 2 { 3 "name": "とりひで", 4 "id":"001" 5 }, 6 { 7 "name":"きりんじ" 8 "id":"002" 9 10 } 11 12]
SwiftUI
1import SwiftUI 2 3struct ShopData: Hashable, Codable, Identifiable { 4 5 var name: String 6 var id: Int 7 8}
SwiftUI
1import SwiftUI 2 3struct ShopDataRow: View { 4 5 var shop: ShopData 6 7 var body: some View { 8 HStack { 9 Text(verbatim: shop.name) 10 } 11 } 12} 13 14 15struct LandmarkRow_Previews: PreviewProvider { 16 static var previews: some View { 17 Group { 18 ShopDataRow(shop: ShopDetail[0]) 19 ShopDataRow(shop: ShopDetail[1]) 20 } 21 .previewLayout(.fixed(width: 300, height: 70)) 22 } 23}
SwiftUI
1import SwiftUI 2 3let ShopDetail :[ShopData] = load("ShopDetail.json") 4 5func load<T: Decodable>(_ filename: String, as type: T.Type = T.self) -> T { 6 let data: Data 7 8 guard let file = Bundle.main.url(forResource: filename, withExtension: nil) 9 else { 10 fatalError("Couldn't find (filename) in main bundle.") 11 } 12 13 do { 14 data = try Data(contentsOf: file) 15 } catch { 16 fatalError("Couldn't load (filename) from main bundle:\n(error)") 17 } 18 19 do { 20 let decoder = JSONDecoder() 21 return try decoder.decode(T.self, from: data) 22 } catch { 23 fatalError("Couldn't parse (filename) as (T.self):\n(error)") 24 } 25}
試したこと
SwiftUI Tutorialとほぼ同じ形で作成し、Resumeするとエラーが出ます。
ご教授お願いします!!!
###実行環境
- Xcode Version 11.3.1 (11C504)
- macOS Catalina 10.15.1
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。