Delete specific record from core data of all attributes at same index from an Array of type NSManagedObject

I have multiple attributes of type string,Bool and Data(image) in an entity of core data. These all are saved successfully in core data. I want to delete the record at same index from all attributes at once. I write code for this but it doesn't work. Save Code:

func save(Background: UIImage,CountDown: UIImage, Title: String, Date: String, Classification:         String,Above: Bool,Remainder: String,Onlydate: Date)
{
    guard let appDelegate = UIApplication.shared.delegate as? AppDelegate
        else
    {
        return
    }
    let managedContext = appDelegate.persistentContainer.viewContext
    let entity = NSEntityDescription.entity(forEntityName: "CountDown", in: managedContext)!
    let CD = NSManagedObject(entity: entity, insertInto: managedContext)
    CD.setValue(Background.jpegData(compressionQuality: 0.9), forKeyPath: "background")
    CD.setValue(CountDown.jpegData(compressionQuality: 0.9), forKeyPath: "countdown")
    CD.setValue(Title, forKeyPath: "title")
    CD.setValue(Date, forKeyPath: "date")
    CD.setValue(Classification, forKeyPath: "classification")
    CD.setValue(Above, forKeyPath: "above")
    CD.setValue(Remainder, forKeyPath: "remainder")
    CD.setValue(Onlydate, forKeyPath: "onlydate")
    do
    {
        try managedContext.save()
        CountDowndata.append(CD)
        print(CountDowndata)
        print("Successfully Added Data")
    }
    catch let error as NSError
    {
        print("Could not save. \(error), \(error.userInfo)")
    }
}

Delete Code call function like = deleteData(atIndex: 0):

func deleteData(atIndex: Int)
{
    let appDelegate = UIApplication.shared.delegate as! AppDelegate

    let context = appDelegate.persistentContainer.viewContext

    let request = NSFetchRequest<NSFetchRequestResult>(entityName: "CountDown")

    request.predicate = NSPredicate(format: "title = %@ AND date = %@ AND classification = %@ AND above = %@ AND remainder = %@ AND onlydate = %@ AND background = %@ AND countdown = %@",
        self.CountDowndata[atIndex].value(forKey: "title") as! String,
        self.CountDowndata[atIndex].value(forKey: "date") as! String,
        self.CountDowndata[atIndex].value(forKey: "classification") as! String,
        self.CountDowndata[atIndex].value(forKey: "above") as! Bool,
        self.CountDowndata[atIndex].value(forKey: "remainder") as! String,
        self.CountDowndata[atIndex].value(forKey: "onlydate") as! String,
        self.CountDowndata[atIndex].value(forKey: "background") as! Data as CVarArg,
        self.CountDowndata[atIndex].value(forKey: "countdown") as! Data as CVarArg)

    do {
        let result = try? context.fetch(request)

        for data in result as! [NSManagedObject]
        {
            context.delete(data)
        }
    }
    // Saving the Delete operation
    do {
        try context.save()
    } catch {
        print("Failed saving")
    }
}