performSelector:withObject仅在iPad上发送错误的对象

时间:2016-02-04 10:31:35

标签: ios ipad ios-simulator selector performselector

我在这样的目标上调用选择器:

        target.performSelector(successAction, withObject: timeIntervalPicker.timeInterval)

在此次通话之前和之后,打印输出确认timeInterval是例如90.0

然而,被调用的方法会收到完整的垃圾。而不是90.0它收到类似7.9616198705550417E + 277

的东西

收到的价值也随着来电的不同而变化。

为了让这更令人困惑,这只发生在iPad模拟器上。不在iPhone模拟器上。

非常感谢帮助。

1 个答案:

答案 0 :(得分:2)

使用您要发送的值创建NSNumber,并将收到的NSNumber转换回原始类型(双倍或时间戳):

target.performSelector(successAction, withObject: NSNumber(double: timeIntervalPicker.timeInterval))