Pregunta

[Podría estar malinterpretando todo este tema, ya que crecí con lenguajes que permiten al desarrollador ignorar casi por completo la arquitectura del procesador, como Java, excepto en algunos casos particulares. Corríjame si tengo algunos conceptos incorrectos.]

Lectura aquí parece que el consejo es usar CGFloat en lugar de, digamos, float, porque prepara mi código para el futuro para diferentes arquitecturas de procesador (los identificadores de 64 bits flotan de manera diferente).Suponiendo que eso sea correcto, entonces ¿por qué UISlider, por ejemplo, utilizar float directamente (por el valor)? ¿No estaría mal (o algo así) que leyera sus float y convertirlo en un CGFloat, porque en cualquier caso mi código no es correcto si la arquitectura cambia de todos modos?

¿Fue útil?

Solución

CGFloat es solo un typedef para float.Esto proporciona flexibilidad para CGFloat ser algo diferente en el futuro.Es por eso que usarlo prepara su código para el futuro.Objective-C hace esto con muchos tipos, NSInteger es otro ejemplo.

Aunque se pueden usar indistintamente, estoy de acuerdo en que no aparece en el caso de UISlider que Apple era comida para perros.

Otros consejos

cgfloat es parte de los gráficos básicos, y se usa para cosas como valores de píxeles, que ha cambiado mucho a lo largo de los años (¿alguien aquí un amante de TRS-80?).Por lo tanto, se aconseja el uso de CGFLOAT para los valores de dibujo relacionados con la pantalla.

El valor del control deslizante no está relacionado con los gráficos.Es simplemente 0.0 a 1.0, que se puede manejar con precisión por un flotador, y probablemente un flotador de 16 bits en ese.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top