提问人:Zim 提问时间:2/17/2021 最后编辑:WillekeZim 更新时间:2/17/2021 访问量:739
未调用 Swift 选择器方法
Swift selector method not being called
问:
我创建一个操作类来存储选择器,然后将 Target 添加到按钮,但是当我单击它时,操作类中的方法尚未被调用
class ItemCardAction {
static var shared: ItemCardAction = ItemCardAction()
private init() {
}
var action: Selector = #selector(ItemCardAction.shared.buttonPressed)
@objc func buttonPressed(_ sender: UIButton!) {
print("TEST")
AppEngine.shared.updateItem(tag: sender.tag)
AppEngine.shared.notigyAllObservers()
//self.updateUI()
}
}
添加目标
button.addTarget(self, action: ItemCardAction.shared.action, for: .touchDown)
答:
1赞
Sandeep Bhandari
2/17/2021
#1
你需要的是
button.addTarget(ItemCardAction.shared, action: ItemCardAction.shared.action, for: .touchUpInside)
如果你仔细看一下方法,第一个参数是target,当按钮接收到(在这种特定情况下)触摸内部事件时,iOS将在指定的目标中查找指定的选择器(在操作参数中指定)。在您的情况下,您将目标指定为 并且显然选择器在 的范围内不可用,因此不会发生任何事情:)addTarget
self
self
评论
self
ItemCardAction.shared