addTarget calling wrong method on some device.

(c1708) #1


Currently I’m implementing my app in Swift with latest Xcode.


On my application’s UIViewController I wrote:

if (Util.isFeatureEnabled(Feature.X)) {
      let xButton = UIButton()
      self.xButton = xButton
      xButton.addTarget(self, “xButtonTouched:”…)
let yButton = UIButton()
self.yButton = yButton
yButton.addTarget(self, “yButtonTouched:” …)
fun yButtonTouched(sender: UIButton) {

And I forget implement xButtonTouched function,
But feature-X is always disable(by some business reason),
so I think xButton never showed Up and Above code working correctly.
And working correctly on my device(iPhone 6 Plus) as expected.

But, I noticed on some others device(which include iPhone 6 Plus)
Get called xButtonTouched: when yButton Touched, and raise "unrecognized selector sent to instance” error.

I can’t understand why this error happened. Is error depend on device? Or nasal demon?