String να επιπλέουν σε Objective-C για Χάρτης Kit

ψήφοι
0

Είμαι προσπαθεί να περάσει κάποια γεωγραφικό πλάτος / μήκος τιμές από JSON έγγραφο στο χάρτη Kit του iPhone στη συνέχεια να σχεδιάσετε τα σημεία στο χάρτη. Οι τιμές προέρχονται από NSArray:

CGFloat goLat = [valfields objectForKey: @geo_lat];
CGFloat golong = [valfields objectForKey: @geo_long];


CLLocationCoordinate2D newCoord = {golat, golong}; etc...

Αλλά Παίρνω ένα λάθος «ασυμβίβαστη τύπους».

Η εικασία μου είναι ότι πρέπει να ρίξει τις τιμές συμβολοσειράς από την σειρά μου να CGFloat; Αλλά είμαι ακριβώς σίγουρος.

Καμία ιδέα;

Ευχαριστώ,

σολ

Δημοσιεύθηκε 14/02/2010 στις 19:56
πηγή χρήστη
Σε άλλες γλώσσες...                            


1 απαντήσεις

ψήφοι
2

«Κάστινγκ» δεν είναι ό, τι πρέπει να κάνετε, αλλά αν σειρά σας (στην πραγματικότητα από τον κώδικά σας μοιάζει με ένα λεξικό) περιέχει χορδές, τότε ναι, θα πρέπει να τα μετατρέψετε σε αριθμητική μορφή. Δώστε αυτό μια δοκιμή:

CGFloat goLat = [[valfields objectForKey: @"geo_lat"] floatValue];

Από την τεκμηρίωση NSString :

floatValue

Επιστρέφει την τιμή κινητής υποδιαστολής του κειμένου του δέκτη ως ένα float.

- (float)floatValue

Επιστροφή Αξία
Η τιμή κινητής υποδιαστολής του κειμένου του δέκτη ως float, παρακάμπτοντας κενά από την αρχή του string. Επιστρέφει HUGE_VALή –HUGE_VALσε υπερχείλιση, 0.0στην κάτω ροή. Επίσης επιστρέφει 0.0αν ο δέκτης δεν ξεκινά με μια έγκυρη αναπαράσταση κειμένου από έναν αριθμό κινητής υποδιαστολής.

Επιπλέον, NSStringέχει μια -doubleValueμέθοδο. Υπάρχει επίσης μια NSNumberκατηγορία, που θα μπορούσε να είναι μια καλύτερη εκπροσώπηση των χορδών για τα δεδομένα σας.

Απαντήθηκε 14/02/2010 στις 20:01
πηγή χρήστη

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more