添加在另一个 class 中调用函数的点击手势
Adding tap Gesture that calls a function in another class
我在元素中添加了 UITapGestureRecognizer
。我希望在识别点击手势后调用的函数在另一个 class.
中
这是我的代码:
let selectMoment = SelectMomentClass(countUserMoment: 1, cardView: self.cardView)
selectMoment.draw()
let gesture = UITapGestureRecognizer(target: self, action: #selector(selectMoment.selectMomentAction))
cardView.addGestureRecognizer(gesture)
我的 SelectMomentClass
包含我的函数:
@objc func selectMomentAction(sender : UITapGestureRecognizer) {
print("card selectMoment is Tapped")
}
但是当我 运行 代码时我有这个错误:
unrecognized selector sent to instance
我的代码哪里出错了?这是我需要更改的目标参数。我可以在另一个 class 中调用函数吗?
我在 Objective-C 中找到了类似的 question,但它对我没有帮助。
因为对象是一个局部变量,它在函数结束后被释放,所以让它成为它的实例变量 class
let selectMoment = SelectMomentClass(countUserMoment: 1, cardView: self.cardView)
使用this.Your 方法定义在selectMomentClass
class 然后你必须添加目标
作为 selectMomentClass
对象和选择器作为 #selector(selectMoment.SelectPictureAction)
.
let selectMoment = SelectMomentClass(countUserMoment: 1, cardView: self.cardView)
let gesture = UITapGestureRecognizer(target: selectMoment, action: #selector(selectMoment.SelectPictureAction(_:)))
方法签名如下 在 selectMomentClass.
@objc func selectPictureAction(_ sender : UITapGestureRecognizer) {
print("card selectMoment is Tapped")
}
我在元素中添加了 UITapGestureRecognizer
。我希望在识别点击手势后调用的函数在另一个 class.
这是我的代码:
let selectMoment = SelectMomentClass(countUserMoment: 1, cardView: self.cardView)
selectMoment.draw()
let gesture = UITapGestureRecognizer(target: self, action: #selector(selectMoment.selectMomentAction))
cardView.addGestureRecognizer(gesture)
我的 SelectMomentClass
包含我的函数:
@objc func selectMomentAction(sender : UITapGestureRecognizer) {
print("card selectMoment is Tapped")
}
但是当我 运行 代码时我有这个错误:
unrecognized selector sent to instance
我的代码哪里出错了?这是我需要更改的目标参数。我可以在另一个 class 中调用函数吗?
我在 Objective-C 中找到了类似的 question,但它对我没有帮助。
因为对象是一个局部变量,它在函数结束后被释放,所以让它成为它的实例变量 class
let selectMoment = SelectMomentClass(countUserMoment: 1, cardView: self.cardView)
使用this.Your 方法定义在selectMomentClass
class 然后你必须添加目标
作为 selectMomentClass
对象和选择器作为 #selector(selectMoment.SelectPictureAction)
.
let selectMoment = SelectMomentClass(countUserMoment: 1, cardView: self.cardView)
let gesture = UITapGestureRecognizer(target: selectMoment, action: #selector(selectMoment.SelectPictureAction(_:)))
方法签名如下 在 selectMomentClass.
@objc func selectPictureAction(_ sender : UITapGestureRecognizer) {
print("card selectMoment is Tapped")
}