Я использую этот код:
class StarClass: UIView {
@IBOutlet weak var bgStar: UIView!
class func createMyClassView() -> StarClass {
let myClassNib = UINib(nibName: "Star", bundle: nil)
let nW = myClassNib.instantiate(withOwner: nil, options: nil)[0] as! StarClass
nW.bgStar.layer.cornerRadius = 15
nW.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(handleStar(sender:))))
return nW
}
@objc func handleStar(sender: UITapGestureRecognizer) {
print("iosLog STAR")
}
}
После запуска, если я щелкнул представление, я получаю сообщение об ошибке ниже:
2018-07-10 11:11:50.496349+0430 Ma[23098:89853] +[Ma.StarClass handleStarWithSender:]: нераспознанный селектор отправлен в класс 0x10ef5cac0 2018-07-10 11:11:50.513392+0430 Ma[23098:89853 ] * Завершение работы приложения из-за необработанного исключения 'NSInvalidArgumentException', причина: '+[Ma.StarClass handleStarWithSender:]: нераспознанный селектор отправлен в класс 0x10ef5cac0' * Стек вызовов первого броска:...
let tap = UITap...
и 2)nW.add...(tap)
. Я обнаружил, что иногда это не работает должным образом, если делать это в одной строке. - person LinusGeffarth   schedule 10.07.2018