장바구니 담기 close

장바구니에 상품을 담았습니다.

핵심만 골라 배우는 SwiftUI 기반의 iOS 프로그래밍

핵심만 골라 배우는 SwiftUI 기반의 iOS 프로그래밍

  • 닐스미스
  • |
  • 제이펍
  • |
  • 2020-03-16 출간
  • |
  • 392페이지
  • |
  • 188 X 245 X 20 mm
  • |
  • ISBN 9791190665025
판매가

26,000원

즉시할인가

23,400

카드할인

0원(즉시할인 0%)

적립금

1,300원 적립(5%적립)

배송비

무료배송

(제주/도서산간 배송 추가비용:3,000원)

추가혜택

네이버페이 무조건 1%적립+ 추가 1%적립

수량
+ -
총주문금액
23,400

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

출판사서평




SwiftUI는 물론 애플리케이션 개발과 출시를 위한 모든 과정을 담았다!

이 책의 목적은 SwiftUI와 Xcode 11, 그리고 스위프트 5 프로그래밍 언어를 사용하여 iOS 13 애플리케이션 제작 기술을 전달하는 데 있습니다. 기초적인 내용부터 시작하여 iOS 개발 환경을 구축하는 데 필요한 과정은 물론, 스위프트 언어에 대한 학습과 테스트를 위한 플레이그라운드 사용 방법도 설명합니다. 또한, 데이터 타입, 흐름 제어, 함수, 객체지향 프로그래밍, 프로퍼티 래퍼, 그리고 에러 처리 등의 스위프트 5 프로그래밍 언어와 관련된 심도 있는 내용도 포함하고 있습니다.

책에서 다루는 내용은 모두 상세한 튜토리얼을 통해 실습할 수 있으며, 해당 예제 코드도 다운로드할 수 있습니다. 예제 코드와 함께 책의 내용을 차근차근 따라 하다 보면 SwiftUI를 이용한 iOS 13용 앱 제작기술 전반을 배우게 될 것입니다.


목차


CHAPTER 01 시작하기_1
1.1 스위프트 프로그래머에게 2
1.2 스위프트가 처음인 프로그래머에게 2
1.3 소스 코드 다운로드 3
1.4 피드백 3
1.5 오탈자 3

CHAPTER 02 애플 개발자 프로그램 가입하기_4
2.1 Xcode 11과 iOS 13 SDK 다운로드하기 4
2.2 애플 개발자 프로그램 4
2.3 애플 개발자 프로그램에 등록할 시점 5
2.4 애플 개발자 프로그램에 등록하기 6
2.5 요약 7

CHAPTER 03 Xcode 11과 iOS 13 SDK 설치하기_8
3.1 macOS 버전 확인하기 8
3.2 Xcode 11과 iOS 13 SDK 설치하기 9
3.3 Xcode 시작하기 9
3.4 애플 아이디를 Xcode 설정에 추가하기 10
3.5 개발자 인증서와 배포 인증서 11

CHAPTER 04 Xcode 11 플레이그라운드_12
4.1 플레이그라운드란? 12
4.2 새로운 플레이그라운드 생성하기 13
4.3 스위프트 플레이그라운드 예제 기초 14
4.4 결과 보기 17
4.5 서식 있는 텍스트 주석 추가하기 18
4.6 여러 개의 플레이그라운드 페이지로 작업하기 20
4.7 플레이그라운드에서 UIKit으로 작업하기 21
4.8 플레이그라운드에 리소스 추가하기 22
4.9 향상된 라이브 뷰로 작업하기 24
4.10 요약 26

CHAPTER 05 스위프트 데이터 타입, 상수, 그리고 변수_27
5.1 스위프트 플레이그라운드 사용하기 28
5.2 스위프트 데이터 타입 28
5.3 스위프트 변수 33
5.4 스위프트 상수 34
5.5 상수와 변수 선언하기 34
5.6 타입 선언과 타입 추론 35
5.7 스위프트 튜플 36
5.8 스위프트 옵셔널 타입 37
5.9 타입 캐스팅과 타입 검사 41
5.10 요약 44

CHAPTER 06 스위프트 연산자와 표현식_45
6.1 스위프트 표현식 구문 45
6.2 기본 할당 연산자 46
6.3 스위프트 산술 연산자 46
6.4 복합 할당 연산자 47
6.5 비교 연산자 48
6.6 불리언 논리 연산자 49
6.7 범위 연산자 49
6.8 삼항 연산자 51
6.9 비트 연산자 51
6.10 복합 비트 연산자 55
6.11 요약 56

CHAPTER 07 스위프트의 제어 흐름_57
7.1 반복 제어 흐름 57
7.2 스위프트 for-in 구문 58
7.3 repeat ... while 반복문 60
7.4 반복문에서 빠져나오기 60
7.5 continue 구문 61
7.6 조건부 흐름 제어 62
7.7 if 구문 사용하기 62
7.8 if ... else ... 구문 사용하기 63
7.9 if ... else if ... 구문 사용하기 63
7.10 guard 구문 64
7.11 요약 65

CHAPTER 08 스위프트의 switch 구문_66
8.1 왜 switch 구문을 사용하나? 66
8.2 switch 구문 사용하기 66
8.3 스위프트의 switch 구문 예제 67
8.4 case 구문 결합하기 68
8.5 switch 구문에서 범위 매칭하기 69
8.6 where 구문 사용하기 69
8.7 fallthrough 70
8.8 요약 71

CHAPTER 09 스위프트 5의 함수, 메서드, 클로저 개요_72
9.1 함수란 무엇인가? 72
9.2 메서드란 무엇인가? 73
9.3 스위프트 함수를 선언하는 방법 73
9.4 단일 표현식에서의 암묵적 반환 74
9.5 스위프트 함수 호출하기 75
9.6 반환값 처리하기 75
9.7 지역 매개변수명과 외부 매개변수명 75
9.8 함수에 디폴트 매개변수 선언하기 77
9.9 여러 결괏값 반환하기 77
9.10 가변개수 매개변수 78
9.11 변수인 매개변수 79
9.12 입출력 매개변수로 작업하기 79
9.13 매개변수인 함수 81
9.14 클로저 표현식 83
9.15 스위프트의 클로저 85
9.16 요약 85

CHAPTER 10 스위프트의 객체지향 프로그래밍 기초_86
10.1 객체란 무엇인가? 86
10.2 클래스란 무엇인가? 87
10.3 스위프트 클래스 선언하기 87
10.4 클래스에 인스턴스 프로퍼티 추가하기 88
10.5 메서드 정의하기 88
10.6 클래스 인스턴스 선언하기와 초기화하기 90
10.7 클래스 인스턴스 초기화하기와 소멸하기 90
10.8 메서드 호출하기와 프로퍼티 접근하기 91
10.9 저장 프로퍼티와 연산 프로퍼티 92
10.10 지연 저장 프로퍼티 94
10.11 스위프트에서 self 사용하기 95
10.12 스위프트 프로토콜 이해하기 96
10.13 불투명 반환 타입 98
10.14 요약 100

CHAPTER 11 스위프트의 서브클래싱과 익스텐션의 개요_101
11.1 상속, 클래스, 그리고 하위 클래스 101
11.2 스위프트 상속 예제 102
11.3 하위 클래스의 기능 확장하기 103
11.4 상속받은 메서드 오버라이딩하기 104
11.5 하위 클래스 초기화하기 105
11.6 SavingsAccount 클래스 사용하기 106
11.7 스위프트 클래스 익스텐션 106
11.8 요약 107

CHAPTER 12 스위프트 구조체_108
12.1 스위프트 구조체 개요 108
12.2 값 타입 vs. 참조 타입 109
12.3 구조체와 클래스는 언제 사용하는가? 112
12.4 요약 112

CHAPTER 13 스위프트 프로퍼티 래퍼_113
13.1 프로퍼티 래퍼 이해하기 113
13.2 간단한 프로퍼티 래퍼 예제 114
13.3 여러 변수와 타입 지원하기 116
13.4 요약 119

CHAPTER 14 스위프트의 배열과 딕셔너리 컬렉션으로 작업하기_120
14.1 가변형 컬렉션과 불변형 컬렉션 120
14.2 스위프트 배열 초기화 120
14.3 스위프트 배열로 작업하기 122
14.4 배열 항목 섞기와 무작위로 가져오기 123
14.5 배열에 항목 추가하기 124
14.6 배열 반복하기 124
14.7 타입이 혼합된 배열 생성하기 125
14.8 스위프트 딕셔너리 컬렉션 126
14.9 스위프트 딕셔너리 초기화 127
14.10 시퀀스 기반의 딕셔너리 초기화 128
14.11 딕셔너리 항목 개수 128
14.12 딕셔너리 항목 접근하기와 갱신하기 129
14.13 딕셔너리 항목 추가하기와 제거하기 129
14.14 딕셔너리 반복 130
14.15 요약 130

CHAPTER 15 스위프트의 에러 핸들링 이해하기_131
15.1 에러 핸들링 이해하기 131
15.2 에러 타입 선언하기 132
15.3 에러 던지기 132
15.4 에러를 던지는 메서드와 함수 호출하기 134
15.5 에러 객체에 접근하기 135
15.6 에러 캐칭 비활성화하기 135
15.7 defer 구문 사용하기 135
15.8 요약 136

CHAPTER 16 SwiftUI 개요_137
16.1 UIKit과 인터페이스 빌더 138
16.2 SwiftUI의 선언적 구문 138
16.3 SwiftUI는 데이터 주도적이다 139
16.4 SwiftUI vs. UIKit 140
16.4 요약 142

CHAPTER 17 SwiftUI 모드로 Xcode 이용하기_143
17.1 Xcode 11 시작하기 143
17.2 SwiftUI 프로젝트 생성하기 144
17.3 SwiftUI 모드의 Xcode 145
17.4 프리뷰 캔버스 147
17.5 프리뷰 고정하기 148
17.6 화면 설계 수정하기 149
17.7 에디터 콘텍스트 메뉴 152
17.8 여러 디바이스에서 미리보기 153
17.9 시뮬레이터에서 앱 실행하기 156
17.10 실제 iOS 디바이스에서 앱 실행하기 156
17.11 디바이스와 시뮬레이터 관리하기 159
17.12 네트워크 테스트 활성화하기 159
17.13 빌드 에러 처리하기 160
17.14 애플리케이션 성능 모니터링 160
17.15 사용자 인터페이스 레이아웃 계층구조 살펴보기 161
17.16 요약 164

CHAPTER 18 기본 SwiftUI 프로젝트 분석_165
18.1 예제 프로젝트 생성하기 165
18.2 UIKit과 SwiftUI 166
18.3 AppDelegate.swift 파일 166
18.4 SceneDelegate.swift 파일 167
18.5 ContentView.swift 파일 168
18.6 Assets.xcassets 169
18.7 Info.plist 169
18.8 LaunchScreen.storyboard 169
18.9 요약 169

CHAPTER 19 SwiftUI로 커스텀 뷰 생성하기_170
19.1 SwiftUI 뷰 170
19.2 기본 뷰 생성하기 171
19.3 뷰 추가하기 172
19.4 하위 뷰로 작업하기 174
19.5 프로퍼티로서의 뷰 175
19.6 뷰 변경하기 176
19.7 텍스트 스타일로 작업하기 176
19.8 수정자 순서 178
19.9 커스텀 수정자 179
19.10 기본적인 이벤트 처리 180
19.11 onAppear 메서드와 onDisappear 메서드 181
19.12 커스텀 컨테이너 뷰 만들기 181
19.13 요약 183

CHAPTER 20 SwiftUI 스택과 프레임_184
20.1 SwiftUI 스택 184
20.2 Spacer, alignment, 그리고 padding 187
20.3 컨테이너의 자식 뷰 제한 189
20.4 텍스트 줄 제한과 레이아웃 우선순위 190
20.5 SwiftUI 프레임 192
20.6 frame과 GeometryReader 194
20.7 요약 195

CHAPTER 21 상태, Observable 객체, 그리고 Environment 객체로 작업하기_196
21.1 상태 프로퍼티 197
21.2 상태 바인딩 199
21.3 Observable 객체 200
21.4 Environment 객체 202
21.5 요약 204

CHAPTER 22 SwiftUI 예제 튜토리얼_205
22.1 예제 프로젝트 생성하기 205
22.2 프로젝트 살펴보기 207
22.3 레이아웃에 VStack 추가하기 208
22.4 스택에 슬라이더 뷰 추가하기 209
22.5 상태 프로퍼티 추가하기 210
22.6 Text 뷰에 수정자 추가하기 211
22.7 회전과 애니메이션 추가하기 212
22.8 스택에 TextField 추가하기 214
22.9 색상 피커 추가하기 215
22.10 레이아웃 정리하기 216
22.11 요약 219

CHAPTER 23 Observable 객체와 Environment 객체 튜토리얼_220
23.1 ObservableDemo 프로젝트에 대하여 220
23.2 프로젝트 생성하기 221
23.3 Observable 객체 추가하기 221
23.4 ContentView 레이아웃 설계하기 222
23.5 두 번째 뷰 추가하기 224
23.6 내비게이션 추가하기 225
23.7 Environment 객체 사용하기 226
23.8 요약 228

CHAPTER 24 스택 정렬과 정렬 가이드_229
24.1 컨테이너 정렬 229
24.2 정렬 가이드 232
24.3 정렬 가이드 도구 사용하기 235
24.4 커스텀 정렬 타입 236
24.5 스택 정렬 교차하기 239
24.6 ZStack 커스텀 정렬 241
24.7 요약 245

CHAPTER 25 SwiftUI 리스트와 내비게이션_246
25.1 SwiftUI 리스트 246
25.2 SwiftUI 동적 리스트 248
25.3 NavigationView와 NavigationLink 252
25.4 편집 가능하게 만들기 253
25.5 요약 256

CHAPTER 26 SwiftUI 리스트와 내비게이션 튜토리얼_257
26.1 ListNavDemo 프로젝트에 대하여 257
26.2 ListNavDemo 프로젝트 생성하기 258
26.3 프로젝트 준비하기 258
26.4 Car 구조체 추가하기 259
26.5 JSON 데이터 로딩하기 260
26.6 데이터 저장소 추가하기 261
26.7 콘텐트 뷰 설계하기 261
26.8 상세 뷰 설계하기 264
26.9 리스트에 내비게이션 추가하기 266
26.10 자동차 추가하는 뷰 설계하기 267
26.11 Add 버튼과 Edit 버튼 구현하기 270
26.12 Edit 버튼 메서드 추가하기 272
26.13 요약 273

CHAPTER 27 SwiftUI에서 탭 뷰 만들기_274
27.1 SwiftUI 탭 뷰 개요 274
27.2 TabViewDemo 앱 생성하기 275
27.3 TabView 컨테이너 추가하기 275
27.4 콘텐트 뷰 추가하기 276
27.5 탭 아이템 추가하기 276
27.6 탭 아이템 태그 추가하기 277
27.7 요약 278

CHAPTER 28 SwiftUI에서 콘텍스트 메뉴 바인딩하기_279
28.1 ContextMenuDemo 프로젝트 생성하기 279
28.2 콘텐트 뷰 준비하기 279
28.3 콘텍스트 메뉴 추가하기 280
28.4 콘텍스트 메뉴 테스트하기 281
28.5 요약 282

CHAPTER 29 SwiftUI 그래픽 드로잉 기초_283
29.1 DrawDemo 프로젝트 생성하기 283
29.2 SwiftUI 도형 283
29.3 오버레이 사용하기 286
29.4 커스텀 경로와 도형 그리기 286
29.5 그래디언트 그리기 289
29.6 요약 292

CHAPTER 30 SwiftUI 애니메이션과 전환_293
30.1 AnimationDemo 예제 프로젝트 생성하기 293
30.2 암묵적 애니메이션 293
30.3 애니메이션 반복하기 296
30.4 명시적 애니메이션 297
30.5 애니메이션과 상태 바인딩 298
30.6 자동으로 애니메이션 시작하기 299
30.7 SwiftUI 전환 302
30.8 전환 결합하기 303
30.9 비대칭 전환 304
30.10 요약 304

CHAPTER 31 SwiftUI에서 제스처 작업하기_305
31.1 GestureDemo 예제 프로젝트 생성하기 305
31.2 기본 제스처 305
31.3 onChanged 액션 콜백 308
31.4 updating 콜백 액션 309
31.5 제스처 구성하기 311
31.6 요약 313

CHAPTER 32 UIView와 SwiftUI 통합하기_314
32.1 SwiftUI와 UIKit의 통합 314
32.2 UIView를 SwiftUI와 통합하기 315
32.3 Coordinator 추가하기 317
32.4 UIKit 델리게이션과 데이터 소스 처리하기 319
32.5 예제 프로젝트 320
32.6 UIScrollView 래핑하기 320
32.7 코디네이터 구현하기 322
32.8 MyScrollView 사용하기 323
32.9 요약 324

CHAPTER 33 UIViewController를 SwiftUI와 통합하기_325
33.1 UIViewController와 SwiftUI 325
33.2 ViewControllerDemo 프로젝트 생성하기 326
33.3 UIImagePickerController 래핑하기 326
33.4 콘텐트 뷰 설계하기 327
33.5 MyImagePicker 완성하기 329
33.6 콘텐트 뷰 완성하기 331
33.7 앱 테스트하기 332
33.8 요약 333

CHAPTER 34 SwiftUI와 UIKit 통합하기_334
34.1 호스팅 컨트롤러의 개요 334
34.2 UIHostingController 예제 프로젝트 335
34.3 SwiftUI 콘텐트 뷰 추가하기 335
34.4 스토리보드 준비하기 336
34.5 호스팅 컨트롤러 추가하기 339
34.6 Segue 액션 구성하기 340
34.7 컨테이너 뷰 포함하기 343
34.8 코드로 SwiftUI 포함하기 346
34.9 요약 348

CHAPTER 35 앱 스토어에 iOS 13 애플리케이션 등록을 위한 준비와 제출하기_349
35.1 iOS 배포 인증서 검증하기 349
35.2 앱 아이콘 추가하기 352
35.3 시작 화면 설계하기 353
35.4 프로젝트를 팀에 할당하기 354
35.5 배포를 위해 애플리케이션 아카이브하기 354
35.6 iTunes Connect에서 애플리케이션 설정하기 355
35.7 애플리케이션 검증하기와 제출하기 357
35.8 검수를 위해 앱 구성하고 제출하기 360

찾아보기 363

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 1800-7327
교환/반품주소
  • 경기도 파주시 문발로 211 1층 / (주)북채널 / 전화 : 1800-7327
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.