Раньше я использовал XCode для разработки моих приложений и использования этого; Я мог бы создать связывают в IB/раскадровке, которые синтезирует эти методы:UITextField Target/Action vs Delegate Methods
- (void)addTarget:(id)target action:(SEL)action forControlEvents: (UIControlEvents)controlEvents
для того, когда
Однако, не я делаю все это программно (в rubymotion, хотя и не обязательно это уместно) и смотрю в документация для UITextField я нашел некоторые методы делегата, которые я реализованы следующим образом:
def textFieldShouldReturn(text_field)
text_field.resignFirstResponder
end
def textFieldShouldEndEditing(text_field)
# this is for validations; don't set a first responder here
true
end
def textFieldDidEndEditing(text_field)
text_field == @email_field ? @password_field.becomeFirstResponder : delegate.validate_login_info
end
Но с помощью этого, я обнаружил, что я не мог вкладке через поля ввода (из которых у меня есть два, адрес электронной почты и пароль), как Раньше я мог использовать подход addTarget.
В чем разница между этими двумя подходами? Бывает ли первое исполнение за кулисами? Я не понимаю, почему кто-то позволит мне перейти, а другой - нет. Я просто использовал методы делегата иначе, чем подход «цель/действие» за кадром?
Обратная связь оценили, pachun