2009-06-28 6 views

Répondre

48

Dans le passé, la conversion d'une valeur CGFloat à l'aide de la syntaxe() a fonctionné correctement pour moi. CGFloat est simplement défini comme "typedef float CGFloat;" si vous allez sur la coulée de la même façon que vous un flotteur:

CGFloat f = (CGFloat)intVal; 

ou, si votre valeur est une constante:

CGFloat f = 1.10; 
+2

Malheureusement, cela ne fonctionne plus sur 64bit, où CGFloat est un « double ': http: // pile flow.com/questions/1264924/whats-the-difference-between-using-cgfloat-and-float –

+2

Si vous supprimez le suffixe 'f' alors cela devrait fonctionner, il y aura une descente implicite de double à flotter sur un 32 plate-forme de bits et pas de cast du tout sur un 64 bits. –

+3

Merci Joe - J'ai mis à jour la solution. –

7

je cherchais dans la façon de faire la même chose dans rapide et je trouve la question dans le premier résultat (haut rang) donc je posterai la réponse si avait trouvé au cas où quelqu'un ai eu la chance comme moi :)

let myCGFloat = CGFloat(myFloat) 
Questions connexes