9
Obliczam prędkość iPhone'a i muszę wiedzieć, jak przekonwertować zmienną metersSpeed, która jest typem double do typu string do wyświetlenia na etykiecie.Jak przekonwertować typ podwójny na ciąg iPhone'a?
Oto co mam w nagłówku:
@interface myProject : UIViewController <CLLocationManagerDelegate> {
double calculatedSpeed;
UILabel *velocityLabel;
}
I tu jest to, co mam w głównej:
-(void)speedLocation:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
{
double gpsSpeed = newLocation.speed;
if(oldLocation != nil)
{
CLLocationDistance distanceChange = [newLocation getDistanceFrom:oldLocation];
NSTimeInterval sinceLastUpdate = [newLocation.timestamp timeIntervalSinceDate:oldLocation.timestamp];
calculatedSpeed = distanceChange/sinceLastUpdate;
velocityLabel.text = calculatedSpeed;
}
}
Wskazówki jak próbuję ustawić velocityLabel do calculatedSpeed, która jest zmienna z typem double. Więc naturalnie daje mi błąd: niekompatybilny typ dla argumentu 1 z 'setText:'.
Twoja pomoc jest bardzo doceniana.
Dzięki!
Prawdopodobnie również pomocne powiedzieć, że formatujących zaakceptowane przez NSString są takie same jak te przyjęte przez printf, co zostało udokumentowane w wielu miejscach, w tym http://www.thinkage.ca/english/gcos/expl/c /lib/printf.html. Jeśli więc spojrzysz w górę "g", zobaczysz, że jest to wynik "podwójny" (tj. Lub zmiennoprzecinkowy według zasad promocji C) w formacie naukowym lub standardowym. – Tommy
@Tommy: Lub 'man 3 printf'. –
To działa wielkie dzięki! –