Fehler: Cannot convert value of type '(_, _) -> Void' zu erwarten argument type '((UIAlertAction) -> Void)?'

Ich habe eine Schaltfläche erstellt, die in meinem Main.storyboard, die einen Namen hat (eine var) benannt deleteButton. Diese Taste ist in jeder Zelle.

Wenn der Benutzer den Knopf drückt, wird eine Warnmeldung erscheint, um das löschen zu bestätigen. Hier ist der code.

@IBAction func deletePinpoint(sender: UIButton) {

    let  alertController = UIAlertController(title: "Delete pinpoint", message: "Do you want to delete this pinpoint?", preferredStyle: UIAlertControllerStyle.Alert)

    alertController.addAction(UIAlertAction(title: "Yes", style: UIAlertActionStyle.Default, handler: { (action, indexPath) -> Void in

        if let managedObjectContext = (UIApplication.sharedApplication().delegate as? AppDelegate)?.managedObjectContext {
            let pinpointToDelete = self.fetchResultController.objectAtIndexPath(sender.tag) as! Pinpoints
            managedObjectContext.deleteObject(pinpointToDelete)

            do {
                try managedObjectContext.save()
            } catch {
                print(error)
            }
        }
    }))

    alertController.addAction(UIAlertAction(title: "Cancel", style: .Cancel, handler: nil))

    self.presentViewController(alertController, animated: true, completion: nil)
}

In der cellForRowAtIndexPath: Methode, die ich erklärt haben, diese Linie:

cell.deleteButton.tag = indexPath.row

Bekomme ich die Fehlermeldung auf der 3. Zeile (beginnend mit alertController.addAction), nämlich:

Nicht konvertieren kann der Wert des Typs '(_, _) -> Void' zu erwarten argument type '((UIAlertAction) -> Void)?'

Wie kann ich dieses Problem beheben?

Schreibe einen Kommentar