Codenameone &引用;已将无法识别的选择器发送到实例";iOS本机代码中存在错误
我在iPhone上收到一条“无法识别的选择器发送到实例”错误消息,我无法理解。我正在从XCode运行本机iOS源代码,在初始化过程中,当我调用setInterval()方法时,我遇到了这个错误消息 方法简单。我正在使用传感器,所以我有这个接口Codenameone &引用;已将无法识别的选择器发送到实例";iOS本机代码中存在错误,codenameone,Codenameone,我在iPhone上收到一条“无法识别的选择器发送到实例”错误消息,我无法理解。我正在从XCode运行本机iOS源代码,在初始化过程中,当我调用setInterval()方法时,我遇到了这个错误消息 方法简单。我正在使用传感器,所以我有这个接口 public interface SensorsNative extends NativeInterface { ... void setInterval(int type, int delayMicroSeconds); } 我的ios本机实现
public interface SensorsNative extends NativeInterface {
...
void setInterval(int type, int delayMicroSeconds);
}
我的ios本机实现如下所示:
-(void)setInterval:(int)type delay:(int)delayMicroSeconds {
// accelerometerUpdateInterval is in seconds.
NSTimeInterval delaySeconds = delayMicroSeconds / 1000000.0;
if (type == GYRO) {
[motionManager setGyroUpdateInterval: delaySeconds];
} else if (type == ACCEL) {
[motionManager setAccelerometerUpdateInterval:delaySeconds];
} else if (type == MAGNET) {
[motionManager setMagnetometerUpdateInterval: delaySeconds];
}
}
我的SensorsNative实例是静态的,所以它不能被垃圾收集,并且我可以从附加的Xcode输出中看到我的参数具有正确的值,而ptr,我的指针,是正确的类型。我不明白为什么它不起作用
看起来您更改了本机实现iOS方法的名称。它应该是
setInterval:param1:
,但您将其更改为setInterval:delay:
e、 g
谢谢这就解决了问题。
-(void)setInterval:(int)type param1:(int)delayMicroSeconds {
...
}