2010-12-14 49 views
0

Dans mon application, j'importe les coordonnées d'un MKMapView dans une liste de propriétés. Une fois que l'utilisateur a atteint "save", je place la coordonnée centrale de la vue de sélection sur celle de la vue principale, puis enregistre la mapView.centerCoodinate.latitude et la longitude dans une liste pList. Cependant, cela me donne une valeur comme "1078114215" qui, selon la carte, n'est pas une coordonnée de voile. Qu'est-ce que je fais mal? Enregistrement d'un pointeur à la place des deux flottants dans la coordonnée?MKCapView centerCoordinate ne pas renvoyer de valeurs correctes

Répondre

1

? Ne pas enregistrer comme un flotteur?

+0

C'est-à-dire. J'utilisais% d au lieu de% f, donc il était en train de l'enregistrer comme un int. Merci! – Jumhyn

0

Il semble que vous ayez accidentellement mal saisi votre variable double. Lorsque vous ajoutez à votre dictionnaire à stocker en tant que plist assurez-vous de le transformer d'un double à un NSNumber comme celui-ci:

[myDictionary addObject:[NSNumber numberWithDouble:latitude] forKey:@"latitude"]; 

et quand vous le récupérer, transformer d'un NSNumber à un double:

double latitude = [[myDictionary objectForKey:@"latitude"] doubleValue];