Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 야곰
- 부트캠프
- 오세요
- IT동아리
- 코드 스타터 캠프
- 커리어 스타터 캠프
- 테크캐스트
- 스위프트
- 기획자
- 야곰아카데미
- 코드스타터캠프
- GraphQL
- 야곰 아카데미
- 넥스터즈
- ios커리어스타터
- 애플디벨로퍼
- iOS개발자
- 넥스터즈 면접
- 스타터 캠프
- ios
- 기획자의 여행법
- 야곰닷넷
- 커리어스타터캠프
- ios-커리어-스타터-캠프
- 넥스터즈 후기
- Swift
- 오늘도 개발자가 안 된다고 말했다
- 야곰캠프
- IT동아리 면접
- 강추
Archives
- Today
- Total
iOS Ellen
[iOS] UIView()와 UIView(frame: CGRect)의 초기화 차이점 본문
평소에UIView(frame: .zero)로 초기화하는 방식을 고수하는 편인데...
처음 사용했던 이유는 아카데미 리뷰어가 이 방식을 사용하셨기 때문이다.
하지만... 어차피 .zero로 줄 거면 그냥 UIView()로 만들어도 상관없지 않을까? 싶은데...
아래 블로그에서 해답을 얻을 수 있었다.
https://sujinnaljin.medium.com/uiview-init-%EC%97%90-%EB%8C%80%ED%95%98%EC%97%AC-581c61726778
결론을 말하자면
UIView()은 UIVIew(frame: .zero)처럼 frame이 (0.0, 0.0, 0.0, 0.0) 으로 생성된다는 점이다.
하지만!!!
UIView()는 UIView(frame: .zero) 보다 콜 스택이 추가적으로 두 단계가 발생한다.
아무래도 콜스택 단계가 더 추가된다는 것은 리소스를 사용하는 것이기 때문에 가능하면 frame을 입력하는 것이 좋지 않을까? 생각된다.
추가적으로 UIView()는 UIView 내부에서 convenience init으로 frame을 .zero로 지정하는 것이 아닐까?
하는 동기 코든의 의견도 있었다.
'iOS > UIKit' 카테고리의 다른 글
[iOS] 한 번에 여러뷰를 addSubView하기! (0) | 2022.04.19 |
---|