поэтому у меня есть viewController, который содержит пользовательское представление,
, и этот класс viewController соответствует ViewProtocol
Я ожидаю, когда метод someAction
сработает в someCustomizedView
будет напечатано " method in otherCustomizedClass called "
, но вместо этого будет напечатано (" method in extension Called")
.
theNotOptionalMethod
отлично работает, но не является дополнительным методом.
Есть личто-нибудь, что я неправильно понимаю расширения протокола?
Пожалуйста, помогите, боролись в течение нескольких часов, спасибо
protocol ViewDelegate: class {
func theNOTOptionalMethod()
}
extension ViewDelegate {
func theOptionalMethod(){
print (" method in extension Called")
}
}
class someCustomizedView: UIView {
weak var deleage: ViewDelegate?
@IBAction func someAction(sender: UIButton) {
deleage?.theOptionalMethod()
}
}
class someCustomizedVC: UIViewController, ViewDelegate {
lazy var someView: someCustomizedView = {
var v = someCustomizedView()
v.deleage = self
return v
}()
//...... someView added to controller
func theNOTOptionalMethod() {
// do nothing
}
func theOptionalMethod() {
print (" method in otherCustomizedClass called ")
}
}