Pregunta

Cuando se usa un método C de Objetivo de iPhone que acepta CGFloatS, EG [UIColor colorWithRed:green:blue:], ¿Es importante agregar AF a los argumentos constantes para especificarlos explícitamente como flotadores, por ejemplo, si siempre debo escribir 0.1F en lugar de 0.1 en tales casos? ¿O el compilador lanza automáticamente 0.1 (que es un doble en general) a 0.1F (que es un flotador) en el momento de la compilación? No deseo que estos elenco ocurran en el momento de la ejecución porque innecesarían un rendimiento innecesario.

Gracias por adelantado

Mrmage

¿Fue útil?

Solución

No es importante; No romperá nada para usar una constante de doble precisión donde se espera una constante de precisión única.

Sin embargo, si ha activado la advertencia sobre las conversiones implícitas de 64 bits a 32 bits y está construyendo para arquitecturas de 32 bits (que creo que incluye el iPhone), entonces querrá usar constantes de precisión única simplemente para evitar obtener esa advertencia.

(Alternativamente, podría establecer esa configuración para apagar explícitamente, con una condición de arquitectura que lo encienda para arquitecturas de 64 bits. Pero eso corrientemente Solo importa si también está usando parte de su código en una aplicación Mac).

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