2016-10-07 2 views
1

Ich habe eine benutzerdefinierte Ansicht in einem Action Sheet mit einem UISwitch und ich möchte erfassen, wenn der Schalter umgeschaltet wird. Der Schalter zeigt in Ordnung, aber wenn ich addTarget verwenden, um die Funktion aufzurufen, erhalte ich - Verwendung von ungelösten Bezeichner ‚deferSwitchToggled‘ unterHinzufügen eines Selektors zu UISwitch in Swift 3 gibt 'Verwendung von nicht aufgelösten Identifier' Fehler

let deferredFilterToggle: UISwitch = { 
    let deferredFilterToggle = UISwitch() 
    deferredFilterToggle.translatesAutoresizingMaskIntoConstraints = false 
    deferredFilterToggle.addTarget(self, action: #selector(deferSwitchToggled(_:)), for: UIControlEvents.valueChanged) 
    return deferredFilterToggle 
}() 

Funktion.

func deferSwitchToggled(mySwitch: UISwitch) { 
    if mySwitch.isOn { 
     showDeferred = true 
    } else { 
     showDeferred = false 
    } 
} 

Wo falsch gehe ich?

Antwort

3

Für den gegebenen Wähler geben Sie an, Ihre deferSwitchToggled Methode muss ein unbenannte Argument liefern:

func deferSwitchToggled(_ mySwitch: UISwitch) { 

statt:

func deferSwitchToggled(mySwitch: UISwitch) { 
+0

nicht hinzufügen Vergessen '@ objc' über die Funktion, es ist notwendig, sonst kommt es zu einem Kompilierungsfehler. –

Verwandte Themen