Frage

Ich bin mit CLHeading versuchen Kompass Wert zu erhalten,

- (void)locationManager:(CLLocationManager *)manager didUpdateHeading:(CLHeading *)newHeading {
 if (curHeading != nil)
  [curHeading release];

 curHeading = newHeading;
 NSLog(@"%@",curHeading);
 [curHeading retain];
}

das oben give Ergebnis als -

  

magneticHeading 89.00 trueHeading 103,27 Genauigkeit 5,00 x 1,375 y   41,875 z 37,438 @ 2010-01-18 10.18.37 0.800

, aber ich brauche nur den magneticHeading Wert, so

ändere ich den Code wie:

a)

  

newHeading.magneticHeading -> got Ergebnis null

b)

  

newHeading.trueHeading -> Programm empfangene Signal:   „EXC_BAD_ACCESS“.

Kann mir jemand helfen, ich habe gerade mit anderen möglichen Art und Weise versuchen, den Kompass Wert zu erhalten.

War es hilfreich?

Lösung

magneticHeading und trueHeading sind beide vom Typ CLLocationDirection, die eigentlich eine doppelt so hoch ist. Wenn Sie NSLog wollen () Doppel, müssen Sie "% f" oder "% .9f", nicht verwenden "% @", was für Objekte ist.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top