SceneDelegate란?
SceneDelegate란? iOS 13부터 도입된 객체로, 앱의 UI 생명주기를 관리하는 역할을 한다. 기존에는 AppDelegate가 앱 전체의 생명주기를 관리했지만, 멀티 윈도우(예: iPad Safari) 기능을 위해 UI 관련 생명주기를 SceneDelegate가 분리해 맡게 되었다. 주요 역할 앱의 화면(UI) 생명주기 관리 ...
SceneDelegate란? iOS 13부터 도입된 객체로, 앱의 UI 생명주기를 관리하는 역할을 한다. 기존에는 AppDelegate가 앱 전체의 생명주기를 관리했지만, 멀티 윈도우(예: iPad Safari) 기능을 위해 UI 관련 생명주기를 SceneDelegate가 분리해 맡게 되었다. 주요 역할 앱의 화면(UI) 생명주기 관리 ...
1. 그래프 개념 그래프는 **노드(Vertex, 정점)**와 **노드를 연결하는 간선(Edge)**으로 구성된 자료구조입니다. 노드들이 복잡하게 연결된 구조를 표현하는 데 적합합니다. 2. 구성 요소 정점(Vertex, Node): 그래프의 개별 객체 간선(Edge): 정점 간 연결 관계 방향성: ...
SnapKit이란? – 오토레이아웃을 코드로 간결하게 작성하는 DSL SnapKit은 iOS 개발에서 **Auto Layout을 코드로 쉽게 작성할 수 있게 해주는 DSL(Domain Specific Language)**이다. 복잡한 NSLayoutConstraint 코드를 Swift 문법에 맞게 간결하게 표현할 수 있어 가독성과 생산성을 크게 향상...
1. 해시 테이블 개념 해시 테이블은 **키(Key)**를 해시 함수로 변환해 배열의 인덱스처럼 사용하는 자료구조입니다. 이를 통해 데이터를 빠르게 저장하고 검색할 수 있습니다. 2. 핵심 원리 해시 함수(Hash Function): 키를 고정 크기 정수 값(해시 값)으로 변환합니다. 배열(Array): 해시 값을 인덱스로 사용해 데...
1. 트리 개념 트리는 계층적(hierarchical) 구조를 가진 비선형 자료구조입니다. 노드(Node)들이 부모-자식 관계로 연결되어 있습니다. 최상위 노드를 **루트(root)**라고 합니다. 각 노드는 0개 이상의 자식 노드를 가질 수 있습니다. 노드 간에는 유일한 경로가 존재합니다. 2. 용어 루트(root): ...
의존성 주입이란? 객체 내부에서 직접 다른 객체를 생성하지 않고, 외부에서 필요한 객체를 주입하는 방법. 🎯 객체를 직접 생성하지 않고, 참조를 받아서 사용 의존성 주입없이 객체 생성하는 경우(강한 결합) class Service { func doSomething() { print("서비스 실행") } } class ...
1. 덱 개념 덱은 양쪽 끝에서 삽입과 삭제가 모두 가능한 자료구조입니다. 큐(Queue)와 스택(Stack)의 특성을 모두 가지며, 데이터를 앞이나 뒤에서 넣고 뺄 수 있습니다. 2. 기본 연산 append(item): 덱의 뒤쪽에 데이터(item)를 추가합니다. (뒤쪽 삽입) prepend(item): 덱의 앞쪽에 데이터(item)를...
📌 ViewController 생명주기 개념 UIViewController는 특정 이벤트에 따라 자동으로 호출되는 생명주기 메서드를 가짐. 메서드 호출 시점 특징 viewDidLoad() 뷰가 처음 메모리에 로드될 때 한번만 호출됨. ...
1. 큐 개념 큐는 데이터를 한 쪽 끝에서는 넣고, 반대쪽 끝에서는 꺼내는 선입선출(FIFO, First In First Out) 방식의 자료구조입니다. 즉, 먼저 넣은 데이터가 먼저 나옵니다. 2. 기본 연산 enqueue(item): 큐의 뒤쪽(리어)에 데이터(item)를 추가합니다. dequeue(): 큐의 앞쪽(프론트)에서 데이터...
인스턴스 메서드 vs 타입 메서드 – Swift에서 메서드의 두 얼굴 Swift에서 메서드는 크게 두 가지로 나뉜다: **인스턴스 메서드(instance method)**와 타입 메서드(type method). 이 둘은 선언 위치는 같지만, 누구에게 속하느냐와 어떻게 호출하느냐에서 명확한 차이가 있다. 인스턴스 메서드란? 인스턴스 메서드는 클...