@Observable class CoreDataInterViewModel{
let container: NSPersistentContainer
var savedEntities: [Fish] = []
init() {
container = NSPersistentContainer(name: "Fish")
container.loadPersistentStores { (desciption, error) in
if let error = error {
print("ERROR LOADING CORE DATA. \(error)")
} else {
print("SUCCESSFULLY LOADED CORE DATA. \(desciption)")
}
}
fetchFish()
}
// MARK: - FUNCTION
func fetchFish() {
let request = NSFetchRequest<Fish>(entityName: "Fish")
do {
savedEntities = try container.viewContext.fetch(request)
} catch {
print("ERROR FETCHING CORE DATA: \(error)")
}
}
func saveData() {
do {
try container.viewContext.save()
fetchFish()
} catch {
print("Error SAVING: \(error)")
}
}
ViewModel code