Risposte:
Chiama removeTarget: action: forControlEvents:, passa zero per la destinazione, NULL per l'azione e usa una maschera di controllo che imposta tutti i bit (UIControlEventAllEvents).
Objective-C
[someControl removeTarget:nil
action:NULL
forControlEvents:UIControlEventAllEvents];
Swift 2
button.removeTarget(nil, action: nil, forControlEvents: .AllEvents)
Swift 3
button.removeTarget(nil, action: nil, for: .allEvents)
La risposta di @ progrmr in Swift 2:
button.removeTarget(nil, action: nil, forControlEvents: .AllEvents)
e Swift 3:
button.removeTarget(nil, action: nil, for: .allEvents)
Nota: Swift non ha NULL
, quindi ho provato a sostituirlo con nil
e sembra funzionare bene.
removeTarget(nil, action: nil, for: .allEvents)
nil
o NULL
per entrambi il primo e il secondo argomento in Objective-C troppo, e funzionerà. Credo che entrambi siano definiti come (void*) 0
(o almeno valutati come uguali).
Swift:
btnCancel.removeTarget(self, action: Selector(), forControlEvents: UIControlEvents.AllEvents)
Swift 2:
actionButton.removeTarget(nil, action: nil, forControlEvents: .AllEvents)
Swift 3 e 4:
actionButton.removeTarget(nil, action: nil, for: .allEvents)
Objective-C:
[actionButton removeTarget: nil action: NULL forControlEvents: UIControlEventAllEvents];
Spero che sia d'aiuto.
- removeTarget:action:forControlEvents:
Questo metodo interrompe la consegna degli eventi all'oggetto target specificato.
Specificando un oggetto valido nel parametro target, questo metodo interrompe il recapito degli eventi specificati a tutti i metodi di azione associati a tale oggetto.
Specificando zero per il parametro target, questo metodo impedisce la consegna di quegli eventi a tutti i metodi di azione di tutti gli oggetti target
Objective-C:
[_myButton removeTarget: //any validObject (or) nil
action:nil
forControlEvents:UIControlEventAllEvents];
sWIFT:
myButton.removeTarget(*validObject or nil*, action:nil, forControlEvents:UIControlEvents.AllEvents)
Per maggiori dettagli https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIControl_Class/index.html#//apple_ref/occ/instm/UIControl/removeTarget:action:forControlEvents :