1
기본 개념 / 추출 방법 / 함수에 사용
컬렉션(collection) / Array / Dictionary / Set
기본 개념 / 원시값&연관값 / 옵셔널 열겨형
Class / Struct / Initialization
<속성> 저장 속성 / 지연 저장 속성 / 계산 속성 / 타입 속성 / 속성 감시자 <메서드> 인스턴스 메서드 / 타입 메서드 / 서브스크립트 <접근 제어> 싱글톤 패턴
상속 / 초기화
구조체 생성자 / 클래스 생성자 / 지정 생성자 / 편의 생성자 / 생성자 상속 규칙
필수생성자 / 실패가능 생성자 / 소멸자
타입캐스팅 / is / as / 업캐스팅&다운캐스팅 / 다형성 / Any / AnyObject
확장 / 메서드 확장 / 생성자 확장 / 서브스크립트 확장 / 중첩타입 확장
프로토콜 / 문법 / 요구사항 / 속성 요구사항 / 메서드 요구사항 / 생성자 요구사항 / 서브스크립트 요구사항
타입으로써의 프로토콜 / 프로토콜 상속 / 프로토콜 선택적 요구사항 / 프로토콜 확장 / 프로토콜 확장 적용 제한 / 프로토콜 지향 프로그래밍
Nested Type / Ex - Black Jack / Ex - DateFormatter
소문자 self vs. 대문자 Self
클로저 / 클로저를 사용하는 이유
문법 최적화 / @escaping / @autoclosure / 실제 사용 (UITextField)
고차함수 / map / filter / reduce / forEach / compactMap / flatMap
함수형 vs 명령형
옵셔널 체이닝 / 함수 관련 / 딕셔너리 관련 / 함수의 실행
에러처리 3단계 - 에러정의/함수정의/함수처리 / 에러처리 방법 - try/try?/try! / 에러함수 처리함수 - throwing/rethrowing / Defer문
HTTP 프로토콜 / Rest API / iOS에서의 네트워킹 / JSON Parsing / 네트워크 통신 예시 (영화진흥위원회 api)
동기 vs 비동기 / 직렬 vs 동시 / 동시성 프로그래밍 / DispatchQueue / GCD 종류 /.main /.global() /label: / GCD 주의사항 /반드시 메인큐 /컴플리션핸들러 /강한 참조 / Async&Await / 동시성 프로그래밍 문제점
제네릭 문법의 필요성 / 제네릭 함수의 정의 / 제네릭 타입의 정의 / 제네릭 구조체의 확장 / 타입 제약 / 프로토콜에서 제네릭 사용
에러 처리 / 네트워킹 코드
Date / Calendar / DateFormatter / DateComponents
접근 제어 / 커스텀 타입의 접근 제어 / 상속과 확장의 접근 제어 / 속성의 접근 제어
아스키코드 & 유니코드 / 문자열 보간법 / Format Specifier / NumberFormatter / SubString
아스키코드 & 유니코드 / 문자열 보간법 / Format Specifier / NumberFormatter / SubString
아스키코드 & 유니코드 / 문자열 보간법 / Format Specifier / NumberFormatter / SubString
아스키코드 & 유니코드 / 문자열 보간법 / Format Specifier / NumberFormatter / SubString
아스키코드 & 유니코드 / 문자열 보간법 / Format Specifier / NumberFormatter / SubString
문자열과 배열 / 문자열의 인덱스 / 삽입 교체 추가 삭제 / 문자열 비교 / 문자열 포함여부 및 앞뒤 글자 반환
정규식 / 특정 문자의 제거
숫자 리터럴 / 오버플로우 연산자 / 논리 연산자와 단락 평가 / 비트 연산자 / 연산자 메서드 직접 구현