Codenameone &引用;已将无法识别的选择器发送到实例";iOS本机代码中存在错误

Codenameone &引用;已将无法识别的选择器发送到实例";iOS本机代码中存在错误,codenameone,Codenameone,我在iPhone上收到一条“无法识别的选择器发送到实例”错误消息,我无法理解。我正在从XCode运行本机iOS源代码,在初始化过程中,当我调用setInterval()方法时,我遇到了这个错误消息 方法简单。我正在使用传感器,所以我有这个接口 public interface SensorsNative extends NativeInterface { ... void setInterval(int type, int delayMicroSeconds); } 我的ios本机实现

我在iPhone上收到一条“无法识别的选择器发送到实例”错误消息,我无法理解。我正在从XCode运行本机iOS源代码,在初始化过程中,当我调用setInterval()方法时,我遇到了这个错误消息

方法简单。我正在使用传感器,所以我有这个接口

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 {
...
}