【发布时间】:2021-06-10 15:56:20
【问题描述】:
在检索电影(一对多)关系的所有评论时,您将使用哪个 sn-p 代码以及为什么?
static func getReviewsByMovieId(movieId: NSManagedObjectID) -> [Review] {
// OPTION 1
// SQL call to get movie
guard let movie = CoreDataManager.shared.getMovieById(id: movieId),
// SQL call to get reviews for the movie
let reviews = movie.reviews
else {
return []
}
return (reviews.allObjects as? [Review]) ?? []
// OPTION 2
// SQL call to get reviews for a particular movie
let request: NSFetchRequest<Review> = Review.fetchRequest()
request.predicate = NSPredicate(format: "movie = %@", movieId)
do {
return try CoreDataManager.shared.viewContext.fetch(request)
} catch {
return []
}
}
【问题讨论】: