Usando iPhone/Objetivo c cgfloats: 0.1 está bem ou deve ser 0,1f?
-
19-09-2019 - |
Pergunta
Ao usar um método C objetivo do iPhone que aceite CGFloat
s, por exemplo [UIColor colorWithRed:green:blue:]
, é importante anexar os argumentos constantes para especificá -los explicitamente como carros alegóricos, por exemplo, devo sempre digitar 0,1f em vez de 0,1 nesses casos? Ou o compilador lançou automaticamente 0,1 (que é duplo em geral) para 0,1F (que é um bóia) no momento da compilação? Não desejo que esses elencos aconteçam no tempo de execução, porque eles se enquadram desnecessariamente no desempenho.
desde já, obrigado
Mrmage
Solução
Não é importante; Não vai quebrar nada para usar uma constante de precisão dupla, onde é esperada uma constante de precisão única.
No entanto, se você ativou o aviso sobre conversões implícitas de 64 bits a 32 bits e está construindo para arquiteturas de 32 bits (que acredito incluir o iPhone), então você deseja usar constantes de precisão única simplesmente Para evitar obter esse aviso.
(Como alternativa, você pode definir essa configuração para explicitamente, com uma condição de arquitetura ligando para arquiteturas de 64 bits. Mas isso atualmente Somente importa se você também estiver usando parte do seu código em um aplicativo Mac.)