2016-08-30 4 views
1

Ich erhalte eine Fehlermeldung "unerkannter Selektor an Instanz gesendet" auf meinem iPhone, die ich nicht herausfinden kann. Ich führe die native iOS-Quelle von XCode aus, und ich stehe während der Initialisierung mit dieser Fehlermeldung fest, wenn ich die setInterval() -Methode aufruft.Fehler "Unbekannter Selektor an Instanz gesendet" in iOS-Code

Die Methode ist einfach. Ich bin die Sensoren, so dass ich diese Schnittstelle

public interface SensorsNative extends NativeInterface { 
    ... 
    void setInterval(int type, int delayMicroSeconds); 
} 

Meine ios native Implementierung sieht wie folgt aus:

-(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]; 
    } 
} 

Meine SensorsNative Instanz ist statisch, so dass es nicht Müll gesammelt bekommen können, und Ich kann anhand der angehängten Xcode-Ausgabe sehen, dass meine Parameter die richtigen Werte haben und ptr, mein Zeiger, vom richtigen Typ ist. Ich kann nicht herausfinden, warum es nicht funktioniert.

enter image description here

Antwort

2

Es sieht aus wie Sie den Namen Ihrer native Implementierung iOS Methode geändert. Es sollte setInterval:param1: sein, aber Sie haben es in setInterval:delay:

geändert, z.


-(void)setInterval:(int)type param1:(int)delayMicroSeconds { 
... 
} 
+0

Danke. Das hat es behoben. – MiguelMunoz

Verwandte Themen