- 기본 익히기
- 상수와 변수
- 소수점 수
- 기본 연산자
- 할당(Assignment)
- 연산자(+-*/)
- 증감 연산
- Compound Assignment Operator
- 비교 연산자
- Ternary Coditional Operator
- Nil Coalescing Operator
- Range Operator
- Half-Open Range Operator
- 논리 연산자
- 문자열과 문자
- 문자열 (String Literals)
- 문자열 초기화
- 빈 문자열
- 문자열 가변성(String Mutability)
- 문자열은 Value Type
- 문자 처리
- 문자와 문자열 연결하기
- String Interpolation (붙이기)
- 유니코드(Unicode)
- 특수문자
- 문자 갯수 세기
- 문자열 접근 및 수정
- 문자열 비교
- 문자열의 유니코드 표현(Unicode Representation of Strings)
- Collection 타입
- 콜렉션의 변이성
- 배열
- 집합(Set)
- Set 연산
- Dictionaries
- 제어문
- loop
- while
- 조건문
- switch
- where
- Control Transfer 절
- continue, break, fallthrough, return, throw
- API 가능성 검사하기 (Checking API Availability)
- 함수
- 함수 정의 및 호출
- 인자 및 반환 값
- 함수 타입
- Nested 함수
- 클로져
- 클로져 표현
- Trailing 클로져
- Capturing values
- Closures Are Reference Types
- Enumeration
- 문법
- Switch와 Enumeration
- Associated Values
- Raw Values
- Recursive Enumerations
- 클래스와 구조체
- Class와 구조체
- 구조체는 Value Type
- Class는 Reference Type
- Class와 구조체 사이에서 선택
- String, Array, Dictionary 할당과 복사
- 속성(Property)
- Stored Property
- Computed Property
- Property Observers
- 전역/지역 변수
- Typed Property
- 메소드(Method)
- Instance 메소드
- Type 메소드
- Subscript
- 문법
- 사용
- 옵션
- 상속(Inheritance)
- 기본 class
- subclass
- overriding
- overriding 방지
- 초기화(Initialization)
- stored property에 대해서 초기값 설정
- customizing 초기화
- 기본 초기화
- Initializer Delegation for Value Type
- Class 상속 및 초기화
- Failable 초기화
- Required 초기화
- 클로져나 함수에서 기본 property 값 설정
- Deinitialization
- Deinitialization 동작 원리
- Deinitializer in Action 동작
- 자동 참조 카운트(Automatic Reference Counting)
- ARC 동작 원리
- ARC in Action
- Strong reference 싸이클 (Class instance 사이에서)
- Resolving Strong Reference Cycles Between Class Instances
- Strong reference cycles for Closures
- Resolving Strong Reference Cycles for Closures
- Optional chanining
- Optional Chaining as an Alternative to Forced Unwrapping
- Optional Chaining을 위한 Model Class 정의
- Accessing Property
- Calling Method
- Accessing Subscripts
- Linking Multiple
- Chaining on Methods with Optional Return Values
- 에러 처리(Error Handling)
- Error 표현 및 throw
- 에러 처리
- Cleanup Action 지정
- 타입 캐스팅(Type casting)
- type casting을 위한 class 계층 정의
- type 검사
- downcasting
- 다른 객체에 대한 type casting
- Netsted typed
- Nested types in Action
- Refering to Nested Type
- Extension
- 문법
- Computed Property
- 초기화
- Method
- 프로토콜
- 문법
- Property 요구사항
- Method 요구사항
- 초기화 요구사항
- Protocols as types
- Delegation
- Adding Protocol Conformance with an Extension
- Collection of Protocol Types
- Protocol 상속
- Class-Only 프로토콜
- Protocol Composition
- Checking for Protocol Conformance
- Optional Protocol 요구사항
- 확장
- 제네릭(Generic)
- Generics이 해결하는 문제
- Generic 함수
- type parameters
- Generic type
- Generic 타입 확장
- Type Constraints
- Associated Type
- Where Clauses
- 접근 제어 (Access Control)
- 모듈과 소스 파일
- access 레벨
- 문법
- 초기화
- 프로토콜
- 확장
- 연산자
- bit 연산자
- overflow
- precedence and associativity
- operator 함수
- custom operator
- 실습
- 도씨 화씨
- 문자 카운팅
- 라인 카운팅
- word 카운팅
- 각 문자 빈도 카운팅
- word의 길이 빈도 카운팅
- power(base, n)
- 가장 긴 라인
- blank 지우기
- tab지우기
- reverse(s)
- comment 삭제 (c코드에서)