2009-06-28 17 views

Antwort

48

In der Vergangenheit funktionierte ein CGFloat-Wert mit der Syntax() für mich. CGFloat ist nur definiert als "typedef float CGFloat;" so Sie gehen über die es die gleiche Weise Gießen würden Sie einen Schwimmer:

CGFloat f = (CGFloat)intVal; 

oder, wenn Ihr Wert ist eine Konstante:

CGFloat f = 1.10; 
+2

Leider dies nicht mehr auf 64-Bit arbeitet, wo ein CGFloat ein Zweier ': http: // Überlagerung flow.com/questions/1264924/whats-the-difference-between-using-cgfloat-and-float –

+2

Wenn Sie das 'f' Suffix entfernen, dann sollte es funktionieren, wird es eine implizite Downcast von Double, um auf einer 32 float -Bit-Plattform und überhaupt keine Besetzung auf einer 64-Bit-Plattform. –

+3

Danke Joe - Ich habe die Lösung aktualisiert. –

7

i war auf der Suche, wie das gleiche in schnellen zu tun und ich finde die Frage in der ersten Folge so (hohen Rang) i wird die Antwort abgeben, falls jemand gefunden hatte, hatte das Glück, wie ich :)

let myCGFloat = CGFloat(myFloat)