前提
SwiftUIで既存のプロジェクトにCoreDataの導入をしたくて進めております。
実現したいこと
CoreDataの導入
発生している問題・エラーメッセージ
@FetchRequestの部分でエラーが出ます。entityが認識されていないような気がしますが解決方法がわかりません。
ENTITYとCONFIGURATIONSのClassはHistoryに設定されております。
Cannot find type 'History' in scope
該当のソースコード
SwiftUI
1 2import SwiftUI 3import CoreData 4 5struct HistoryView: View { 6 @Environment(\.managedObjectContext) private var context 7 8 @FetchRequest( 9 entity: History.entity(), 10 sortDescriptors: [NSSortDescriptor(keyPath: \History.title, ascending: true)], 11 predicate: nil, 12 animation: .default 13 ) private var historys: FetchedResults<History> 14 15 var body: some View { 16 NavigationView { 17 List(/*@START_MENU_TOKEN@*/0 ..< 5/*@END_MENU_TOKEN@*/) { item in 18 NavigationLink(destination: HistoryDetailView()) { 19 VStack(alignment: .leading) { 20 Text("作成日") 21 HStack { 22 Text("品名") 23 Spacer() 24 Text("販売価格") 25 } 26 } 27 } 28 } 29 .navigationTitle("履歴") 30 } 31 } 32} 33
試したこと
新規ファイルからDataModelを作りHistoryという名前のentityを作成しました。
CreateNSManagedObjectをしてからPersistenceファイルは別のプロジェクトから持ってきて
container = NSPersistentContainer(name: "History")の部分を書き換えました。
エラーが出てからは
clean build folderをして再起動かけましたがエラーが変わらず出ます。
補足情報(FW/ツールのバージョンなど)
Xcode13.3
Listの()内が変なふうに記載されてしまいましたが正しくは(0 ..<5)になっております。
回答1件
あなたの回答
tips
プレビュー