2009-06-28 30 views

Respuesta

48

En el pasado, fundir un valor CGFloat con la sintaxis() me ha funcionado. CGFloat se acaba de definir como "typedef float CGFloat"; por lo que el casting de la misma forma que lo haría un flotador:

CGFloat f = (CGFloat)intVal; 

o, si su valor es una constante:

CGFloat f = 1.10; 
+2

Lamentablemente esto ya no funciona en 64 bits, donde un CGFloat es un 'doble ': http: // stackover flow.com/questions/1264924/whats-the-difference-between-using-cgfloat-and-float –

+2

Si elimina el sufijo 'f', entonces debería funcionar, habrá un downcast implícito del doble al float en un 32 plataforma de bits y sin conversión en uno de 64 bits. –

+3

Gracias Joe - He actualizado la solución. –

7

yo estaba buscando en la forma de hacer lo mismo en rápida y i encontrar la pregunta en primer resultado (alto clasificado) por lo que voy a publicar la respuesta si se había encontrado en el caso de que alguien la suerte como yo :)

let myCGFloat = CGFloat(myFloat)