핵심을 정리한 Swift 3
도서명:핵심을 정리한 Swift 3
저자/출판사:존,호프만/에이콘출판
쪽수:440쪽
출판일:2017-04-28
ISBN:9788960779945
목차
1장. 스위프트 첫걸음
__스위프트란
____스위프트 기능
__Playgrounds
____Playgrounds 시작
____iOS와 OS X Playgrounds
____Playground에서 이미지 사용
____Playground에서 그래프 표시하기
____Playground를 사용하면 ****되는 경우
____스위프트 언어 문법
____주석
____세미콜론
____괄호
____제어문에 대한 중괄호
____대입 연산자는 값을 반환하지 않는다
____조건문과 대입문에서 공백은 선택사항이다
__Hello World
__요약
2장. 변수와 상수, 문자열, 연산자
__변수와 상수
____상수와 변수 선언하기
____타입 안전
____타입 추론
____명시적 타입
____숫자 타입
________정수 타입
________부동 소수점 타입
____불린 타입
____String 타입
____옵셔널 변수
____열거형
__연산자
____할당 연산자
____비교연산자
____산술연산자
____나머지 연산자
____복합 할당 연산자
____삼항 조건 연산자
____논리 NOT 연산자
____논리 AND 연산자
____논리 OR 연산자
__요약
3장. 스위프트 컬렉션과 튜플
__스위프트 컬렉션 타입
__가변성
__배열
____배열 생성과 초기화
____배열 요소 액세스
____배열 카운트하기
____빈 배열 검사
____배열 요소 추가
____배열 요소 삽입
____배열요소 교체
____배열요소 제거
____두 배열 합치기
____배열 뒤집기
____배열에서 서브배열 검색
____배열 요소 한꺼번에 변경하기
____배열 알고리즘
________Sort
________Sorted
________Filter
________Map
________forEach
____배열 순회
__딕셔너리
____딕셔너리의 생성및 초기화
____딕셔너리 값 액세스
____딕셔너리의 키/값 카운팅
____빈 딕셔너리
____키-값 업데이트
____키-값 쌍 추가
____키-값 쌍 제거
__집합
____집합 초기화
____집합에 항목 삽입
____집합의 항목 개수
____집합의 항목포함 여부 체크
____집합 순회
____집합에서 항목 제거
____집합 연산
__튜플
__요약
4장. 흐름제어와 함수
__여기까지 배운 것들
____중괄호
____괄호
__흐름제어
____조건 구문
________if 문
________if-else 문을 사용한 조건 코드 실행
____for 구문
________for-in 문 사용
____while 루프
________while 루프 사용하기
________repeat-while 루프 사용
____switch 구문
____조건문에서의 case와 where 구문
________where 문으로 필터링하기
________for-case 문으로 필터링하기
________if-case 문
____제어이동 명령
________continue 문
________break 문
________fallthrough 문
________guard 문
__함수
____함수 파라미터
____멀티-파라미터 함수
____파라미터 기본값
____멀티 밸류 반환 함수
____옵셔널 값 반환
____외부 파라미터명 추가
____가변 파라미터 사용
____Inout 파라미터
____네스팅 함수
__종합 예제
__요약
5장. 클래스와 구조체
__클래스와 구조체란
____클래스와 구조체의 유사점
____클래스와 구조체의 차이점
____값 vs 참조타입
__클래스 및 구조체 생성
____프로퍼티
____저장 프로퍼티
____연산 프로퍼티
____프로퍼티옵저버
____메소드
__커스텀 이니셜라이저
____내부와 외부 파라미터 이름
____실패가능-이니셜라이저
__상속
__메소드와 프로퍼티 오버라이딩
____메소드 오버라이딩
____프로퍼티 오버라이딩
____오버라이드 방지
__프로토콜
__프로토콜 문법
____프로퍼티 요구사항
____메소드 요구사항
__익스텐션
__메모리 관리
____ARC 작동 방식
____강한 참조 순환
__요약
6장. 프로토콜과 프로토콜 확장
__타입으로써의 프로토콜
__프로토콜의 다형성
__프로토콜과 타입 캐스팅
__프로토콜 확장
__요약
7장. 프로토콜 지향 설계
__요구사항
__객체지향 설계
____프로토콜 지향 설계
____프로토콜 상속
____프로토콜 컴포지션
____Animal-프로토콜 지향 설계
____프로토콜과 where구문
__요약
8장. Availability와 에러 처리를 이용한 안전한 코드 작성
__스위프트 2.0 이전까지의 에러 처리
__네이티브 에러 처리
____에러 표현
____에러 던지기
____에러 잡기
__availability 속성
__요약
9장. 서브스크립팅
__서브스크립트 소개
__스위프트 배열 서브스크립트
__서브스크립트 읽고 쓰기
__읽기전용 커스텀 서브스크립트
__연산 서브스크립트
__서브스크립트 값
__서브스크립트 외부이름
__다차원 서브스크립트
__서브스크립트를 쓰지 않아야 하는 경우
__요약
10장. 옵셔널 타입
__옵셔널 소개
__옵셔널을 사용하는 이유
____옵셔널 선언
____옵셔널 사용
________옵셔널 강제 언래핑
________옵셔널 바인딩
________함수와 메소드, 서브스크립트의 반환 값으로 사용하는 옵셔널
________옵셔널을 함수나 메소드의 파라미터로 사용하기
________guard 문을 사용한 옵셔널 바인딩
________튜플과 옵셔널 타입
__옵셔널 체이닝
____nil 병합 연산자
__요약
11장. 제너릭
__제너릭 소개
__제너릭 함수
__제너릭 타입
__연관타입
__제너릭을 쓰지 말아야 할 경우
__요약
12장. 클로저
__클로저소개
__간단한 클로저
__클로저 간편문법
__스위프트 배열 알고리즘과 함께 사용하는 클로저
__스탠드얼론 클로저(Standalone closure)와 모범 스타일 가이드라인
__기능 변경
__결과에 따른 클로저 선택
__강한 참조사이클 생성
__요약
13장. 믹스 앤 매치 사용법
__믹스 앤 매치란?
__믹스 앤 매치 적용 사례
__동일 프로젝트 내에 스위프트와 오브젝티브C 함께 쓰기
____project 생성
____오브젝티브C 프로젝트에 스위프트 파일 추가
____오브젝티브C 브릿징 헤더 파일 ? part 1
____프로젝트에 오브젝티브C 파일 추가하기
____Messages 클래스 (오브젝티브C)
____오브젝티브C 브릿징 헤더 파일 ? part 2
____MessageBuilder 스위프트 클래스 - 스위프트에서 오브젝티브C 코드 액세스하기
____오브젝티브C 클래스 ? 오브젝티브C에서 스위프트 코드에서 액세스하기
__요약
14장. 동시성과 병렬성
__스위프트에서 동시성과 병렬성
____Grand Central Dispatch
____Calculation 타입
________큐 생성
________async vs sync
________메인큐 함수에서 코드 실행
________asyncAfter 사용
____Operation과 OperationQueue 타입 사용
________BlockOperation 사용
________오퍼레이션 큐의 addOperation() 메소드 사용
________오퍼레이션 클래스 서브클래싱
__요약
15장. 스위프트 포맷과 스타일가이드
__프로그래밍 스타일가이드란?
__자신만의 코딩스타일
____구문 끝에 세미콜론을 쓰지마라
____조건문에 중괄호를 뺀다
____이름짓기
________커스텀 타입
________함수와 메소드
________상수와 변수
________들여쓰기
____주석
____self 키워드
____상수와 변수
____옵셔널 타입
________옵셔널 바인딩
________옵셔널 바인딩을 사용한 다중 언래핑 대신 옵셔널 체인 사용하기
____타입추론 사용
____컬렉션 간편선언
____다중if 문 대신 switch을 사용하라
____주석처리된 코드를 그대로 두지마라
__요약
16장. 스위프트 코어 라이브러리
__애플 URL 로딩 시스템
____URLSession
____URLSessionConfiguration
____URLSessionTask
____URL
____URLRequest
____HTTPURLResponse
____REST 웹 서비스
____HTTP GET 요청 만들기
____HTTP POST 요청 만들기
__Formatter
____DateFormatter
____NumberFormatter
____FileManager
____JSONSerialization
________JSON 문서 파싱
____JSON 문서 생성
__요약
17장. 스위프트의 디자인 패턴
__디자인 패턴이란?
__생성 패턴
____싱글턴 디자인 패턴
________문제점 이해
________해결책 이해
________싱글턴 구현
____빌더 디자인 패턴
________문제점 이해
________해결책 이해
________빌더 패턴 구현
__구조 디자인 패턴
____브리지 패턴
________문제점 이해
________해결책 이해
________브리지 패턴 구현
____파사드 패턴
________문제점 이해
________해결책 이해
________파사드 패턴 구현
____프락시 디자인 패턴
________문제점 이해
________해결책 이해
________프락시 패턴 구현
__행위 디자인 패턴
____커맨드 디자인 패턴
________문제점 이해
________해결책 이해
________커맨드 패턴 구현
____스트래티지 패턴
________문제점 이해
________해결책 이해
________스트래티지 패턴 구현
__요약