Frage

Ich bin relativ neu in Objective-C und weiß wirklich nicht viel darüber noch, so dass ich entschuldige mich für das, was ist wahrscheinlich eine wirklich dilettantisch Frage.

Ich versuche, die magnetische Richtung von CLHeading und CLLocationDirection zu bekommen. Aber ich bin immer Fehler für diese Zeile Code kompilieren:

locationLabel.text = [[[location course] magneticHeading] stringValue];

Die Fehler sind:

warning: invalid receiver type 'CLLocationDirection'  
error: cannot convert to a pointer type

ich nicht wirklich verstehen, was ich hier falsch mache. Bitte helfen Sie!

War es hilfreich?

Lösung

Hier sind die Schritte erforderlich, um den Kompass zu verwenden.

1) prüfen Sie die Verfügbarkeit: Wenn die headingAvailable Eigenschaft des Positionsmanager JA ist, dann können Sie den Kompass verwenden

.

2) verwenden, um die Position Manager Methode -(void) startUpdatingHeading beginnen die diese Informationen erhalten Sie suchen,

3) abrufen tatsächlich diese Informationen, um die Delegaten-Methode (vergessen Sie nicht, sich selbst als Delegierter eingestellt)

 - (void)locationManager:(CLLocationManager *)manager didUpdateHeading:(CLHeading *)newHeading

Hope, das hilft.

Andere Tipps

magneticHeading ist von CLLocationDirection Typ, der einfach ein typedef für die primitiven Datentyp „Double“ ist. In Ihrem Beispiel versuchen Sie eine Nachricht an etwas zu senden, die kein Objekt ist! Sie sollten einfach die doppelte Format wie folgt:

locationLabel.text = [NSString stringWithFormat:@"Heading %.3f", [[location course] magneticHeading]];

Wie werden Sie Zuordnung und Initialisierung location? Stellen Sie sicher, location als (CLLocationDirection *) definiert und nicht nur ein (CLLocationDirection).

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