Swift 실전 가이드
Swift 기초부터 프로토콜, 제네릭, SwiftUI, Combine까지
🍎 Swift 기초
Swift 시작하기 - 변수, 함수, 클래스, 컬렉션
-
Swift 시작하기: iOS 개발 언어의 특징과 Xcode 환경 설정
Xcode 설치와 Playground 사용법, Hello World부터 시작해 var와 let, 타입 추론, 기본 타입, 매개변수 레이블이 있는 함수, if·for·switch 제어문을 예제로 익힙니다. 간단한 계산기와 Codable로 JSON을 디코딩하는 예제로 첫 Swift 코드를 완성합니다.
-
Swift 변수와 타입 | var, let, 옵셔널
var와 let 선택 기준, 타입 추론, 정수·실수·문자열·불리언 타입, 명시적 타입 변환을 설명하고 옵셔널을 if let 바인딩, 옵셔널 체이닝, ?? 기본값, 강제 언래핑으로 다루는 방법을 비교합니다. 사용자 정보 처리 예제로 실제 흐름을 보여줍니다.
-
Swift 컬렉션 내부 | Array·Dictionary·Set과 Copy-on-Write
Swift의 Array·Dictionary·Set을 만들고 map·filter·reduce, flatMap, 슬라이스로 변환하는 방법과 함께, 값 타입인 컬렉션이 힙 버퍼를 공유하다 쓰기 순간에만 복사하는 Copy-on-Write 동작을 직접 구현해 봅니다. 그룹핑·빈도 세기·lazy 패턴도 담았습니다.
-
Swift 함수와 클로저 | 함수 정의, 클로저, 고차 함수
인자 레이블과 매개변수 이름, 기본값, 가변 매개변수, inout에서 시작해 함수 타입과 고차 함수, trailing closure, 캡처 리스트와 weak·unowned, @escaping과 @autoclosure, 커스텀 연산자까지 Swift 함수와 클로저를 한 흐름으로 설명합니다.
-
Swift 클래스와 구조체 | Class, Struct, Enum
참조 타입인 class와 값 타입인 struct의 차이를 코드로 비교하고, 계산 프로퍼티, 연관 값과 원시 값을 가진 enum, 상속과 다형성, init과 deinit, willSet·didSet 옵저버, ARC와 weak·unowned 메모리 관리까지 다룹니다.
-
Swift 프로토콜과 확장 | Protocol, Extension
Swift 프로토콜과 확장. 프로퍼티·메서드·mutating 요구 사항 선언, 프로토콜 지향 프로그래밍(POP), 프로토콜 확장의 기본 구현과 남용 주의, 네트워크 계층을 프로토콜로 분리하는 예제를 정리합니다.
🎨 SwiftUI
SwiftUI로 UI 만들기
-
Swift 제네릭 | Generic 함수, 타입, 제약
제네릭 함수와 Stack·Pair 같은 제네릭 타입을 직접 만들고, Equatable 같은 프로토콜 제약과 where 절로 타입을 좁히는 방법, 연관 타입을 쓰는 프로토콜을 예제로 설명합니다. 제네릭 캐시와 Decodable 기반 제네릭 로더 예제도 담았습니다.
-
Swift 에러 처리 | do-catch, throw, Result
Error 프로토콜로 에러 타입을 정의하고 throw, throws, do-catch, try?와 try!의 차이를 설명한 뒤 네트워킹, 파일 I/O, JSON 파싱, 입력 검증에서 쓰는 실전 패턴을 보여줍니다. Result 타입과 async/await 환경의 에러 처리도 다룹니다.
🚀 고급 & 실전
Combine, 비동기, 테스팅, 고급 기능
-
Swift 비동기 프로그래밍 | async/await, Task
async/await와 async throws 기본에서 시작해 Task 생성, async let으로 병렬 실행하기, Actor로 공유 상태를 격리하는 방법을 설명합니다. API 클라이언트 예제와 withTaskGroup으로 여러 요청을 병렬로 모으는 예제로 실제 쓰임을 보여줍니다.
-
SwiftUI 입문 | 선언적 UI, 상태, MVVM
SwiftUI의 선언적 뷰 작성법, @State·@Binding·ObservableObject의 차이, MVVM으로 앱 구조 잡기, List와 NavigationStack, URLSession과 Combine 네트워크 통신, 프리뷰 활용법을 설명하고 목록·상세·로딩 화면 예제로 묶습니다.
-
Swift Combine: Publisher와 Subscriber, Operator, @Published로 반응형 흐름 만들기
Swift Combine 정리. Publisher와 Subscriber의 관계, 자주 쓰는 Operator, @Published로 SwiftUI와 연결하기, 네트워크 요청 같은 실전 예제를 다룹니다.