[iOS][UI] Auto Layout에 대해
Develop/iOS2024. 1. 23. 19:24[iOS][UI] Auto Layout에 대해

이 글은 애플의 Auto Layout공식 문서를 기반으로 작성되었습니다! 개요 AutoLayout이 필요한 이유 각기 다른 화면 크기 기본적으로, 화면에 무언가를 그린다는 것은 특정 위치의 픽셀에게 어떤 색상을 보여달라고 요청을 하는 것이다. 그 픽셀들, 점들이 모여서 선을 이루고, 그 선들이 면을 이루면서 우리가 보는 UI가 그려지게 된다. 그런데 그 UI를 그리는 화면의 크기가 항상 같지 않다. 세상에는 엄청나게 많은 종류의 기기들이 존재하고, 그에 따라 수 많은 종류의 화면 크기들이 존재한다. 아이폰도 그 크기가 항상 같지 않다. 처음에는 3.5인치의 화면 크기였고, 그 다음에는 4인치, 그 다음에는 4.7인치… 최근에는 6.1인치까지 그 화면크기가 커졌다. 다른 기기지만 보여주는 건 같아야 해 문..

[iOS][Swift] MetaType이란
Develop/iOS2024. 1. 23. 18:28[iOS][Swift] MetaType이란

메타타입(MetaType)? Swift의 메타타입(Metatype)은 타입 자체를 나타내는 타입이다. 일반적으로, 우리는 변수에 값을 저장하거나, 클래스의 인스턴스를 생성할 때 타입을 사용한다. 예를 들어, `Int`, `String`, `Array` 등이 타입이고, 추가로 정의한 클래스나 구조체들도 타입으로 사용할 수 있다. 하지만 Swift에서는 이러한 타입들 자체를 값으로 다룰 수 있고, 이를 위해 메타타입이 사용된다. 메타타입은 명함으로 생각하면 조금 이해가 쉽다. ‘저는 이런 타입이에요’를 실체화, 인스턴스화 한 게 명함과 비슷하다. ▼ 메타타입의 존재 의의 "그렇다면 Swift는 메타타입을 어떤 장점 때문에 사용하는 것일까?" 메타타입을 이용하는 큰 이유는 아래와 같다. 동적 생성과 타입 검사..

[iOS] Delegate 패턴
Develop/iOS2024. 1. 23. 17:24[iOS] Delegate 패턴

개요 애플의 iOS 앱 개발에서는 delegate 패턴을 정말 많이 사용한다. 가장 처음에 보이는 파일인 AppDelegate.swift와 SceneDelegate.swift부터 각종 UI컴포넌트를 구현하기 위해 사용하는 Delegate들 까지, Delegate 패턴이 굉장히 많이 사용되는 것을 알 수 있다.▼ 이렇게나 많이 사용되지만 이에 대해서 깊게 알아보려고 하지 않았다. 처음에는 내용물을 몰라도 사용할 수 있게 해주는 캡슐화 덕분인건지, 아니면 그냥 내가 아무렇게나 사용을 해서 그런건지는 몰라도 Delegate에 대해 많은 정보가 없이도 간단한 것들은 만들 수 있었다. 하지만 규모가 조금씩 커지고 기능들이 많아지게 되면서 이에 대한 이해도가 부족하면 개발을 제대로 할 수 없음을 깨달았고, 아래의 ..

image