我试图将目标添加到 UIButton 并偶然发现了一个奇怪的行为
如果我尝试:
//h = a collection view header
switch myVar {
case "none":
h.button.addTarget(self, action: "buttonTapped:", forControlEvents: .TouchUpInside)
func buttonTapped(sender:AnyObject) {
sendFriendRequest(self.targetUser,nil
}
}
我收到 SIGABRT - 带有“未找到选择器”
但如果我将函数移出 switch case 并将其作为我的 ViewController 的方法,一切都会按预期进行。
有人对此有解释吗?是不允许还是有技术原因?
最佳答案
Selector
不必是 class
函数,但它们必须对调用选择器的对象可见(即不能标记为 private
或方法内部)。
关于ios - Swift:addTarget Action 是否只允许类方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30493262/