본문 바로가기

도서 소개

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

이 책은 현재 절판입니다. 그간 읽어주신 독자들께 감사드립니다.

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

 
도서구매 사이트(가나다순)
[교보문고] [도서11번가] [알라딘] [예스이십사] [인터파크] [쿠팡]

 

전자책 구매 사이트(가나다순)

[교보문고] [구글북스] [리디북스] [알라딘] [예스이십사] [인터파크]

 

출판사 제이펍
저작권사 Payload Media, Inc.
원서명 SwiftUI Essentials: iOS Edition(원서 ISBN: 9781951442057)
저자명 닐 스미스
역자명 황반석
출판일 2020년 3월 16일
페이지 392쪽
시리즈 I♥Mobile 38(아이러브 모바일 시리즈 38)
판 형 188*245*19.5
제 본 무선(soft cover)
정 가 26,000원
ISBN 979-11-90665-02-5(93000)
키워드 iOS / 아이폰 / 아이패드 / 모바일 프로그래밍 / SwiftUI / Swift / 스위프트
분 야 모바일 프로그래밍 / iOS

 

관련 사이트

 
 
관련 포스트
관련 시리즈
 
관련 도서
 
관련 파일 다운로드
 
 
강의 보조자료
교재로 채택하신 분들은 메일(jeipubmarketer@gmail.com)을 보내주시면 아래의 자료를 보내드리겠습니다.
■ 본문의 그림과 표
 
샘플 PDF
(옮긴이 머리말, 베타리더 후기, 1장 ' 시작하기' 전체, 2장 '애플 개발자 프로그램 가입하기' 일부, 6장 '스위프트 연산자와 표현식' 일부, 20장 'SwiftUI 스택과 프레임' 일부, 29장 'SwiftUI 그래픽 드로잉 기초' 일부)
정오표 페이지
 
도서구매 사이트(가나다순)

 

전자책 구매 사이트(가나다순)

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

 

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

 

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

 

지은이 소개

닐 스미스(Neil Smyth)

닐 스미스는 25년 이상의 IT 개발 경력을 지녔다. 특히 프로그래밍 언어와 기업용 개발 도구, 사용자 인터페이스 디자인을 전문으로 해왔으며, 시스템 프로그래밍과 웹 개발, 마케팅까지 담당하기도 했다. IT 학사 외에 Network+, Project+, 자바와 마이크로소프트 MCP 자격증을 보유하고 있다. 또한, 40여 종의 기술 관련 서적을 집필하였으며, 현재는 미국에서 인터넷 출판과 모바일 애플리케이션 개발 회사인 Payload Media의 공동 창업자이자 CEO로 재직 중이다.

 

옮긴이 소개

황반석

한양대학교에서 컴퓨터 공학을 전공한 후로 지금까지 개발자의 길을 걷고 있다. 애플리케이션 개발이 천직임을 인정하면서도 혹시 다른 재능도 있는 건 아닐까 하는 희망으로 아이스하키도 해보고 기타도 만져보지만, 결국은 컴퓨터 앞에 앉아 개발에 몰두하는 자신을 발견하곤 한다. 최근에는 Flutter를 비롯한 멀티 플랫폼에 관심을 두고 있다. 옮긴 책으로는 《핵심만 골라 배우는 SwiUI 기반의 iOS 프로그래밍》 외 12종이 있다.

 

차례

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

제이펍 소식 더 보기(제이펍의 소통 채널에서 더욱 다양한 소식을 확인하세요!)

네이버 책 포스트 유튜브 인스타그램 트위터 페이스북