- 方法默认为私有时,对一个对象监听,不能对这个方法进行调用
closeBtn.addTarget(self, action: "closeBtnClick", forControlEvents: .TouchUpInside) @objc private func closeBtnClick() { dismissViewControllerAnimated(true, completion: nil) }
- 当closeBtnClick方法前没有@objc修饰时,监听closeBtn无法调用这个方法:
- 事件监听的本质:1.将方法包装@SEL 2.去类中的方法列表中找对应的函数 3.执行函数
- 如果一个方法被声明称private,那么该方法就不会被添加到内的方法列表中
- 只需要在方法最前面加上@objc,那么该方法依然会被添加到方法列表中
网友评论