728x90
목차
1. Swift 기초 다지기
- Swift 소개:
- Swift의 탄생 배경과 목표
- Swift의 주요 특징 (안전성, 표현력, 성능 등)
- 개발 환경 설정 (Xcode 설치, 프로젝트 생성)
- 기본 문법 마스터:
- 변수와 상수: var, let 키워드, 타입 추론, 형 변환
- 데이터 타입: Int, Double, Float, String, Bool, Character, Array, Dictionary, Set
- 연산자: 산술 연산자, 비교 연산자, 논리 연산자, 할당 연산자, 복합 할당 연산자
- 제어 흐름: if, else, switch, for, while, repeat-while
- 선택적 바인딩 (Optional Binding): if let, guard let, nil 합병 연산자
- 함수의 세계로:
- 함수 정의와 호출: 인자, 반환값, 함수 오버로딩
- 클로저: 클로저의 기본 개념, 인라인 클로저, 트레일링 클로저, 캡처 리스트
- 고차 함수: map, filter, reduce, sort 등
2. 객체 지향 프로그래밍 심화
- 클래스와 구조체:
- 클래스와 구조체의 차이점
- 프로퍼티: 저장 프로퍼티, 계산 프로퍼티, 지연 저장 프로퍼티
- 메서드: 인스턴스 메서드, 타입 메서드
- 초기화: 초기화 위임, 실패 가능한 초기화
- 상속: 상속의 기본 개념, 오버라이딩, 오버로딩
- 프로토콜과 확장:
- 프로토콜 정의와 채택: 프로토콜 상속, 프로토콜 연장
- 확장: 타입 확장, 프로토콜 확장
- 액세스 제어:
- open, public, internal, fileprivate, private
- 액세스 레벨 제어의 중요성
728x90
3. 고급 주제 탐구
- 열거형:
- 열거형의 종류: 원시 값, 연관 값
- 열거형과 switch 문
- 제네릭:
- 제네릭 함수, 제네릭 타입
- 제네릭 제약
- 에러 처리:
- do-catch 문, throw, rethrows
- CustomError 프로토콜
- 옵셔널:
- 옵셔널 체이닝, nil 병합 연산자, 옵셔널 패턴 매칭
- 타입 캐스팅:
- is, as 연산자, any, AnyObject
- ARC (Automatic Reference Counting):
- 메모리 관리 개념, 강한 참조, 약한 참조
4. Swift UI로 UI 개발하기
- SwiftUI 기본:
- SwiftUI의 등장 배경
- View, State, Binding
- SwiftUI의 선언적 스타일
- UI 구성 요소:
- Text, Image, Button, TextField 등
- List, NavigationView, TabView
- 레이아웃:
- Stack, HStack, VStack
- Spacer, GeometryReader
- 데이터 바인딩:
- StateObject, ObservableObject
- @Published 프로퍼티
- 제스처:
- TapGesture, DragGesture, LongPressGesture
5. 실전 프로젝트 제작
- 간단한 앱 만들기:
- 계산기 앱, To-Do 리스트 앱
- 설정 앱
- 네트워킹:
- URLSession, Codable
- JSON 파싱
- 데이터 저장:
- UserDefaults, CoreData
- 알림:
- Local Notification, Remote Notification
6. 심화 주제 및 추가 학습
- Concurrency:
- Task, async/await
- Concurrent Programming
- Property Wrappers:
- @State, @Binding, @ObservedObject
- Result Builder:
- SwiftUI에서의 사용
- Combine:
- 퍼블리셔, 서브스크라이버
- Swift Package Manager:
- 패키지 관리
- Design Patterns:
- MVC, MVVM, Singleton 등
728x90
'IOS개발: SWIFT' 카테고리의 다른 글
XCode 코드 접기 (0) | 2024.09.08 |
---|---|
IOS첫 코딩 (0) | 2024.09.07 |
Xcode 설치 (0) | 2024.09.06 |