```swift= func saveData(date: String, with movie: DailyBoxOffice.BoxOfficeResult.Movie) { let viewContext = persistentContainer.viewContext let entity = NSEntityDescription.entity(forEntityName: "TotalData", in: viewContext) let movieInfoEntity = NSEntityDescription.entity(forEntityName: "DailyBoxOfficeData", in: viewContext) let filter = filteredDataRequest(date: date) guard let entity = entity, let movieInfoEntity = movieInfoEntity else { return } do { let data = try viewContext.fetch(filter) as! [NSManagedObject] var movieInfo: DailyBoxOfficeData! = nil var value: TotalData! = nil if data.count == 0 { movieInfo = NSManagedObject(entity: movieInfoEntity, insertInto: viewContext) as? DailyBoxOfficeData value = NSManagedObject(entity: entity, insertInto: viewContext) as? TotalData } else { value = data.first as? TotalData movieInfo = value.movie.first } movieInfo.setValue(movie.audienceAccumulation , forKey: "audienceAccumulation") movieInfo.setValue(movie.screenCount , forKey: "screenCount") movieInfo.setValue(movie.showCount , forKey: "showCount") movieInfo.setValue(movie.rank , forKey: "rank") movieInfo.setValue(movie.rankVariance , forKey: "rankVariance") movieInfo.setValue(movie.rankOldAndNew , forKey: "rankOldAndNew") movieInfo.setValue(movie.code , forKey: "code") movieInfo.setValue(movie.name , forKey: "name") movieInfo.setValue(movie.openDate , forKey: "openDate") movieInfo.setValue(movie.salesAmount , forKey: "salesAmount") movieInfo.setValue(movie.salesShare , forKey: "salesShare") movieInfo.setValue(movie.salesVariance , forKey: "salesVariance") movieInfo.setValue(movie.salesChange , forKey: "salesChange") movieInfo.setValue(movie.salesAccumulation , forKey: "salesAccumulation") movieInfo.setValue(movie.audienceCount , forKey: "audienceCount") movieInfo.setValue(movie.audienceVariance , forKey: "audienceVariance") movieInfo.setValue(movie.audienceChange , forKey: "audienceChange") movieInfo.setValue(movie.order , forKey: "order") value.setValue(date, forKey: "selectedDate") value.setValue(movieInfo, forKey: "movie") print("") } catch { print(error.localizedDescription) } do { try viewContext.save() } catch { print(error.localizedDescription) } } ```