```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)
}
}
```