Відповіді:
Виклик RemoveTarget: action: forControlEvents:, передайте нуль цілі, NULL для дії та використовуйте контрольну маску, яка встановлює всі біти (UIControlEventAllEvents).
Ціль-С
[someControl removeTarget:nil
action:NULL
forControlEvents:UIControlEventAllEvents];
Швидкий 2
button.removeTarget(nil, action: nil, forControlEvents: .AllEvents)
Швидкий 3
button.removeTarget(nil, action: nil, for: .allEvents)
Відповідь @ progrmr у Swift 2:
button.removeTarget(nil, action: nil, forControlEvents: .AllEvents)
і Swift 3:
button.removeTarget(nil, action: nil, for: .allEvents)
Примітка: у Swift немає NULL
, тому я перевірив його заміну, nil
і, здається, він працює добре.
removeTarget(nil, action: nil, for: .allEvents)
nil
або NULL
до обом першим і другим аргументів в Objective-C теж, і він буде працювати. Я вважаю, що обидва визначаються як (void*) 0
(або, принаймні, оцінюються як рівні).
Швидкий 2:
actionButton.removeTarget(nil, action: nil, forControlEvents: .AllEvents)
Swift 3 і 4:
actionButton.removeTarget(nil, action: nil, for: .allEvents)
Завдання-C:
[actionButton removeTarget: nil action: NULL forControlEvents: UIControlEventAllEvents];
Сподіваюся, це допомагає.
- removeTarget:action:forControlEvents:
Цей спосіб зупиняє доставку подій до вказаного цільового об'єкта.
Вказуючи дійсний об'єкт у цільовому параметрі, цей метод зупиняє доставку зазначених подій усім методам дій, пов'язаним з цим об'єктом.
Зазначаючи нуль для цільового параметра, цей метод запобігає доставці цих подій для всіх методів дій усіх цільових об'єктів
target-c:
[_myButton removeTarget: //any validObject (or) nil
action:nil
forControlEvents:UIControlEventAllEvents];
стрімкий:
myButton.removeTarget(*validObject or nil*, action:nil, forControlEvents:UIControlEvents.AllEvents)