преобразование типа CLLocationCoordinate2D в число или строку - PullRequest
5 голосов
/ 01 августа 2011

Мне было интересно, как преобразовать значения широты и долготы CLLocationCoordinate2D в числа или строковые значения.Я пробовал несколько разных способов, но они не работают:

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);

Это возвращает предупреждение компилятором.

Предупреждение:

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

Как сделатьЯ делаю это?

Любая помощь будет оценена.

спасибо

1 Ответ

7 голосов
/ 01 августа 2011

Вы не упомянули, что это за предупреждение, но скорее всего, потому что вы забыли @ перед строками NSLog:

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

Ваш обновленный код должен быть:

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

NSLog ожидает параметр NSString, которому требуется знак @ спереди. Без знака @ строка является простой строкой C, а не объектом NSString.

...