При сохранении в основных данных вам нужно создать предикат, и там вы должны проверить, есть ли значения, уже сохраненные с тем же «movieid», тогда его необходимо обновить, таким образом у вас не будет дублирующихся данных.Пожалуйста, обратитесь к методу и попробуйте использовать его для сохранения значений в БД.Таким образом, дубликаты не будут сохранены в БД
class func insertupdaterecord (movieID:String, context: NSManagedObjectContext)
{
let entityDescription = NSEntityDescription.entity(forEntityName: "movie", in: context)
let pred = NSPredicate(format: "movieid = %@", movieID)
let fetchRequest = NSFetchRequest<NSFetchRequestResult>(entityName: "movie")
fetchRequest.entity = entityDescription
fetchRequest.predicate = pred
let result = try! (context.fetch(fetchRequest) as NSArray).lastObject
let updateInsertInfo : movie
if result != nil
{
updateInsertInfo = result as! movie
}
else
{
print("Record not found!")
}
do
{
try context.save()
}
catch let error as NSError
{
print("Error while saving \(error) in database.")
}
}