у меня есть кнопка на мой взгляд, класс пытается добавить функцию выбора из отдельного класса следующим образом:Swift 3: Непризнанный селектор направил к экземпляру
class ProfileView: UIView {
createAccountButton.addTarget(self, action: #selector(ProfileViewController.createAccountClicked), for: .touchUpInside)
}
class ProfileViewController: UIViewController {
func createAccountClicked() {
print("button press")
}
}
Я получаю непризнанный ошибку выбора, когда я пытаюсь для ссылки на этот метод за пределами ProfileView
. Однако это работает, когда я просто положить createAccountClicked()
в ProfileView
и называют:
createAccountButton.addTarget(self, action: #selector(self.createAccountClicked), for: .touchUpInside)
вместо этого. Мой вопрос: можно ли вызвать функцию из отдельного класса? Или бы просто иметь функцию в том же классе, чтобы следовать правильному шаблону проектирования?
С 'addTarget' на месте' self' вам нужно передать ссылку на 'ProfileViewController'. –
'ProfileViewController.self' работает! –