2010-12-30 14 views
5

Ich habe ein NSArray mit Zahlen und ich möchte den Wert eines Elements des Arrays abrufen und es einem Double zuweisen. In meinem Versuch, von einfachem Casting:Einfach: NSArray Objekt zu Double?

lat = (double)[storesList.latitudes objectAtIndex:i]; 

erhalte ich die Fehlermeldung: „Zeigerwert verwendet, wo Gleitkommawert erwartet wurde“.

Bitte helfen!

Danke,

F.

+0

Welche Art von Objekten sind tatsächlich im Array gespeichert? :) – willcodejavaforfood

+0

Achten Sie darauf, das graue Häkchen neben einer der Antworten zu markieren. –

+0

Ich bin sicher, er weiß es, aber eine gute Erinnerung. – BoltClock

Antwort

14

Wenn Sie sagen, dass Ihr Array von Nummer ist, die aus (NSNumber Klasse), dass Sie das nächste Möglichkeit, den Wert erhalten können sollte:

double lat = [[storeList.latitudes objectAtIndex:i] doubleValue]; 
+1

Obj C FTW, eine Stunde darauf verschwendet. Vielen Dank! – nosuic

6

Sie können keine NSNumber Objekt zu einem primitiven double Typ Wert gegossen. Verwenden Sie die doubleValue Methode von NSNumber stattdessen wie folgt aus:

lat = [[storesList.latitudes objectAtIndex:i] doubleValue]; 
+0

Oh Gott hat so viel Zeit verschwendet .. danke! – nosuic

1

Sie können diesen Code verwenden

 
double lat = [[storeList.latitudes objectAtIndex:i] doubleValue]; 

Danke