티스토리 뷰

Tech/iOS

iOS CGFloat

Ellie Kim 2020. 1. 21. 16:36

CGFloat를 말하기전에 float과 double에 대해서 간단히 살펴봅시다.

 

float is a single - precision, floating - point value type.

즉 실수타입의 단정밀도 32비트 부동 소수형입니다.

 

double is a dobule - precision, floating - point value type

즉 실수타입의 배정밀도 64비트 부동 소수형입니다.

 

CGFloat란 자동적으로 플랫폼에 따라 32비트는 float이 되고, 64비트에서는 double입니다.

말 그대로 float일수도 있고 double일수도 있고 이는 CPU 아키텍처에 따라 다릅니다.

resource: apple developer documentation

개발문서를 살펴보면 float과 double에 대한 typedef가 CGFloat입니다.

typedef double CGFloat; typedef float CGFloat; 보이시죠.

typedef는 새로운 별칭을 사용함으로써 코드를 읽기 쉽도록 이해하기 쉽도록 명확하게 만드는 문법입니다.

그러니까 double이 CGFloat으로 불리고, float이 CGFloat라 불리는 느낌입니다.

 

resource: https://github.com/apple/swift-corelibs-foundation/blob/master/Foundation/CGFloat.swift

깃에서 정의된 CGFloat도 동일하게 typealias을 확인할 수 있습니다.

(아 옵젝씨에선 typedef, 스위프트에선 typealias입니다.)

 

float을 쓸지 double을 쓸지 신경 안 쓰고 알아서 처리하게 만들려면 CGFloat를 사용하면 될 것 같네요.

 

https://developer.apple.com/documentation/coregraphics/cgfloat

https://github.com/apple/swift-corelibs-foundation/blob/master/Foundation/CGFloat.swift

https://ko.wikipedia.org/wiki/%EB%B6%80%EB%8F%99%EC%86%8C%EC%88%98%EC%A0%90

'Tech > iOS' 카테고리의 다른 글

IBOutlet Collection  (0) 2020.01.31
iOS 키보드 내려가게 하는 방법  (0) 2020.01.30
iOS UIViewPropertyAnimator 사용하기  (0) 2019.12.15
프로젝트에 구글 애드몹 추가하는 방법  (0) 2019.08.28
DispatchSemaphore 클래스  (0) 2019.08.22
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함