swift 3.指定操作选择器并为其提供其他参数

时间:2016-07-22 13:09:36

标签: ios swift callback

我想知道在C ++中是否有类似的方法将某些值绑定到函数参数并使用未解析的参数传递结果。

示例(伪代码):
void func(int start,int end,int step){...}
functor = getFunctionObject(func)
functor.bind(“step”,10) - >结果很有趣(开始,结束)步骤= 10,
所以我们可以将它传递给期望这种函数签名的接口

为什么我需要这个:
我正在使用UILongPressGestureRecognizer,它希望#selector能够采取行动,因为我有多个视图可能会触发此操作我想知道从哪个视图收到通知。

我在做什么:

@IBOutlet weak var oneOfMyBtn: UIButton! {
    didSet {
      let recognizer = UILongPressGestureRecognizer( target: self, action: #selector(MyClass.onLongPress))
      oneOfMyBtn.addGestureRecognizer(recognizer)
    }
  }

func onLongPress(recg : UILongPressGestureRecognizer) {
    switch recg.state {
    case .began:
      print("LongPress detected")
    default:
      break
    }
  }

我想要的是:

func onLongPress(recg : UILongPressGestureRecognizer, sender : UIButton) {
    switch recg.state {
    case .began:
      print("LongPress detected")
    default:
      break
    }

  }

因为我需要按钮触发动作的信息

怎么做?

0 个答案:

没有答案