IOS개발: SWIFT

Swift 문법 강좌

_Blue_Sky_ 2024. 9. 12. 13:54
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