Есть ли причина использовать типы данных Core Graphics при работе с объектами UIView - PullRequest
1 голос
/ 29 октября 2010

Есть ли реальная необходимость сделать это:

CGFloat x = 10.0f;
CGFloat y = 20.0f;

someView.center = CGPointMake(x, y);

Вместо этого:

float x = 10.0;
float y = 20.0;

someView.center = CGPointMake(x, y);

... кроме стилевых соображений?

Есть ли какие-либо последствия для производительности?

Ответы [ 2 ]

4 голосов
/ 29 октября 2010

См. этот ответ для хорошего объяснения CGFloat. Это в основном typedef для переносимости кода между 32-битной и 64-битной платформами.

4 голосов
/ 29 октября 2010

Обычно такие типы данных используются для удобства чтения, а также для переносимости.Если бы библиотека CoreGraphics изменила свою реализацию или типы данных, тип CGFloat помог бы ей лучше соответствовать API.Это также может иметь значение при рассмотрении переносимости между платформами.

Я сомневаюсь, что есть какая-то разница в производительности - она, вероятно, останется плавающей точкой в ​​скомпилированном коде.

...