[英]ViewController does not conform to protocol AnyObject error with UISwipeGestureRecognizer
尝试实现滑动手势时出现此错误:
var swipeGesture = UISwipeGestureRecognizer(target: self, action: slideToRightWithGestureRecognizer)
func slideToRightWithGestureRecognizer() {
}
我的ViewController看起来像这样:
class ViewController: UIViewController, UIGestureRecognizerDelegate {
}
我得到了target: self
错误target: self
,我是否必须实现一些委托,否则还有什么问题呢?
我假设swipeGesture
是一个属性-在这种情况下,问题是您在属性初始化期间引用了self
,这是不允许的,因为在所有属性初始化之前, self
才可用。
我认为解决此问题的最佳方法是通过在viewDidLoad
方法中初始化属性,但是当然该属性必须是可选的-在这种情况下,使用隐式解包的是安全的:
var swipeGesture: UISwipeGestureRecognizer!
override func viewDidLoad() {
super.viewDidLoad()
self.swipeGesture = UISwipeGestureRecognizer(target: self, action: "slideToRightWithGestureRecognizer")
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.