带参数的swift 3选择器

时间:2017-04-13 11:46:43

标签: ios iphone swift xcode swift3

我在Swift 3中搜索了很多选择器方法,但我对它有很多困惑。

1)Selector&之间有什么区别? #selector

2)如果我用Selector写作,概述的功能意味着不可用?

3)如何使用#selector方法传递参数。

我的代码

let button = UIButton()     
button.addTarget(self, action: #selector(getData(_:true)), for: .touchUpInside)
button.addTarget(self, action: Selector(), for: .touchUpInside)

func getData(_ isShowing:Bool){

    }

你能帮我解决一下我的困惑吗?

感谢您宝贵的时间

2 个答案:

答案 0 :(得分:2)

您的问题的答案:

  1. 选择器是一种类型。 (表示它是一种功能类型)。而 #selector 是调用函数。 #selector - >将返回Selector类型。 #selector检查是否存在该函数名称的任何函数
  2. 第一个答案将澄清这个
  3. 您可以像这样通过发件人发送价值。示例:button.layer.setValue(forKey:"someKey")

答案 1 :(得分:1)

我相信#selector只是一种语言构造,可以创建Selector类型的对象。您希望使用#selector,因为编译器实际检查该方法是否存在于任何位置,Selector("abc")只运行构造函数且未经验证。