2011-08-01 15 views
5

Zastanawiam się, jak konwertować wartości szerokości i długości geograficznej CLLocationCoordinate2D na wartości liczbowe lub łańcuchowe. Iver próbowałem kilka różnych sposobów, ale arene't pracy:Konwertowanie typu CLLocationCoordinate2D na numer lub ciąg

CLLocationCoordinate2D centerCoord; 
centerCoord.latitude = self.locModel.userLocation.coordinate.latitude ; 
centerCoord.longitude = self.locModel.userLocation.coordinate.longitude; 
NSString *tmpLat = [[NSString alloc] initWithFormat:@"%g", centerCoord.latitude]; 
NSString *tmpLong = [[NSString alloc] initWithFormat:@"%g", centerCoord.longitude]; 

NSLog("User's latitude is: %@", tmpLat); 
NSLog("User's longitude is: %@", tmpLong); 

Zwraca ostrzeżenia przez kompilator.

Ostrzeżenie jest

warning: passing argument 1 of 'NSLog' from incompatible pointer type 

jaki sposób mogę to zrobić?

Każda pomoc zostanie doceniona.

dzięki

Odpowiedz

7

Nie wspomniano co ostrzeżenie ale najprawdopodobniej dlatego, że zapomniał @ przed strun NSLog:

NSLog(@"User's latitude is: %f", self.locModel.userLocation.coordinate.latitude); 
NSLog(@"User's longitude is: %f", self.locModel.userLocation.coordinate.longitude); 

Zaktualizowana kod powinien być:

NSLog(@"User's latitude is: %@", tmpLat); 
NSLog(@"User's longitude is: %@", tmpLong); 

NSLog oczekuje parametru NSString, który wymaga znaku @ z przodu. Bez znaku @ łańcuch jest zwykłym ciągiem C, a nie obiektem NSString.

+0

Przepraszam Annę Kareninę, o zamieszaniu. Zaktualizowałem informacje o moim pytaniu i dodałem ostrzeżenie. Patrz powyżej: dzięki – banditKing

+1

Problem polega na tym, że przed znakami NSLog nie ma znaku @. – Anna

Powiązane problemy