2009-08-25 7 views
10

Hello Stacked-Experts!Generazione di una stringa da CLLocationDegrees, ad es. in NSLog o StringWithFormat

La mia domanda: come generare una stringa da un valore CLLocationDegrees?

tentativi falliti:

1. NSLog(@"Value: %f", currentLocation.coordinate.latitude); //Tried with all NSLog specifiers. 
2. NSNumber *tmp = [[NSNumber alloc] initWithDouble:currentLocation.coordinate.latitude]; 
3. NSString *tmp = [[NSString alloc] initWithFormat:@"%@", currentLocation.coordinate.latitude]; 

Quando guardo nella definizione delle CLLocationDegrees si afferma chiaramente che si tratta di una doppia:

typedef double CLLocationDegrees; 

Che cosa mi manca qui? Questo mi sta facendo impazzire ... Per favore aiutami a salvarmi la mente!

Grazie in anticipo e cordiali saluti. // Abeansits

risposta

33

Questi sono corrette:

NSLog(@"Value: %f", currentLocation.coordinate.latitude); //Tried with all NSLog specifiers. 
NSNumber *tmp = [[NSNumber alloc] initWithDouble:currentLocation.coordinate.latitude]; 

Questo è sbagliato, perché coordinate.latitude non è un oggetto come NSString potrebbe aspettare.

NSString *tmp = [[NSString alloc] initWithFormat:@"%@", currentLocation.coordinate.latitude]; 

Se si desidera un NSString:

myString = [[NSNumber numberWithDouble:currentLocation.coordinate.latitude] stringValue]; 

o

NSString *tmp = [[NSString alloc] initWithFormat:@"%f", currentLocation.coordinate.latitude]; 

Marco

+0

Grazie Marco! Questo è così vero. Il mio errore risiedeva effettivamente in un'allocazione di memoria errata. = ( Mi dispiace per questo. – ABeanSits

+3

@Marco puoi tradurre questo in swift code plz –

2

versione Swift:

La titude a String:

var latitudeText = "\(currentLocation.coordinate.latitude)" 

o

let latitudeText = String(format: "%f", currentLocation.coordinate.latitude) 
Problemi correlati