logo
logo
x
바코드검색
BOOKPRICE.co.kr
책, 도서 가격비교 사이트
바코드검색

인기 검색어

실시간 검색어

검색가능 서점

도서목록 제공

빅 너드 랜치의 스위프트 프로그래밍

빅 너드 랜치의 스위프트 프로그래밍

(제2판)

매튜 마티아스, 존 갤러거 (지은이), 배장열 (옮긴이)
제이펍
29,000원

일반도서

검색중
서점 할인가 할인률 배송비 혜택/추가 실질최저가 구매하기
알라딘 로딩중
yes24 로딩중
교보문고 로딩중
11st 로딩중
영풍문고 로딩중
쿠팡 로딩중
쿠팡로켓 로딩중
G마켓 로딩중
notice_icon 검색 결과 내에 다른 책이 포함되어 있을 수 있습니다.

중고도서

검색중
서점 유형 등록개수 최저가 구매하기
로딩중

eBook

검색중
서점 정가 할인가 마일리지 실질최저가 구매하기
로딩중

책 이미지

빅 너드 랜치의 스위프트 프로그래밍
eBook 미리보기

책 정보

· 제목 : 빅 너드 랜치의 스위프트 프로그래밍 (제2판)
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 개발/방법론 > 모바일/무선/임베디드 프로그래밍
· ISBN : 9791185890937
· 쪽수 : 520쪽
· 출판일 : 2017-09-07

책 소개

스위프트 4.0을 기준으로 Xcode 9와 애플의 개발 문서를 설명한다. 풍부한 강의 경험과 스위프트에 대한 통찰력으로 무장한 두 저자가 왜 스위프트여야 하는지를 다양한 시각과 상황을 통해 풀어내고 있다.

목차

1부 시작하기
1장 시작하기
_ 3
Xcode 시작하기 3
플레이그라운드에서 ‘플레이’하기 6
변수의 값 변경하기와 콘솔로 출력하기 7
아직 끝나지 않았다! 10
예선 과제 10

2장 타입, 상수, 변수 _ 11
타입 11
상수 vs. 변수 13
문자열 삽입 15
예선 과제 16

2부 기초 지식
3장 조건
_ 19
if/else 19
삼항 연산자 22
중첩된 if 23
else if 24
예선 과제 25

4장 수 _ 26
정수 26
정수 인스턴스 만들기 29
정수 연산 30
다른 정수 타입으로 전환하기 34
부동소수점수 36
예선 과제 38

5장 switch _ 39
switch가 무엇일까? 39
switch 실전 40
switch vs. if/else 50
예선 과제 52
본선 과제 53

6장 루프 _ 54
for-in 루프 55
타입 추론에 관해 짚고 넘어가기 59
while 루프 59
repeat-while 루프 61
제어권 전달문, 다시 보기 61
본선 과제 65

7장 문자열 _ 67
문자열 다루기 67
유니코드 69
예선 과제 76
본선 과제 76

8장 옵셔널 _ 77
옵셔널 타입 77
옵셔널 바인딩 80
암묵적으로 언래핑된 옵셔널 83
옵셔널 체이닝 84
옵셔널을 준비된 상태로 수정하기 85
nil 결합 연산자 86
예선 과제 88
예선 과제, 시즌2 88

3부 컬렉션과 함수
9장 배열
_ 91
배열 만들기 91
배열 액세스하기와 수정하기 93
배열의 등가 100
변경할 수 없는 배열 101
문서 102
예선 과제 103
본선 과제 104
결승 과제 104

10장 딕셔너리 _ 105
딕셔너리 만들기 106
딕셔너리에 내용물 넣기 107
딕셔너리 액세스하기와 수정하기 107
값 추가하기와 제거하기 110
루프 적용하기 112
변경할 수 없는 딕셔너리 113
딕셔너리를 배열로 변환하기 113
본선 과제 114
결승 과제 115

11장 집합 _ 116
Set란 무엇인가? 116
Set 준비하기 117
집합 다루기 119
예선 과제 123
본선 과제 123

12장 함수 _ 124
함수의 기초 124
함수의 파라미터 125
가변 파라미터 129
결과 리턴하기 132
함수의 중첩과 영역 133
복수 리턴값 135
옵셔널 리턴 타입 136
함수에서 중도에 빠져나오기 137
함수의 타입 138
예선 과제 139
본선 과제 140
호기심을 누르지 못하는 독자를 위해: Void 140

13장 클로저 _ 142
클로저의 문법 구조 142
클로저 수식 문법 144
리턴 타입 역할을 하는 함수 147
인수 역할을 하는 함수 148
클로저, 값을 붙잡다 151
클로저는 참조 타입이다 153
함수형 프로그래밍 155
예선 과제 158
결승 과제 159

4부 열거형, 구조체, 클래스
14장 열거형
_ 163
열거형 기본 163
원시값 열거형 167
메서드 170
연동되는 값 174
재귀적 열거형 176
예선 과제 180
본선 과제 180

15장 구조체와 클래스 _ 181
새 프로젝트 181
구조체 187
인스턴스 메서드 190
클래스 192
무엇을 사용해야 할까? 198
예선 과제 199
본선 과제 199
호기심을 누르지 못하는 독자를 위해: 타입 메서드 199
호기심을 누르지 못하는 독자를 위해: 변경용 메서드 201

16장 프로퍼티 _ 208
기본 저장형 프로퍼티 209
중첩 타입 210
지연 저장형 프로퍼티 211
계산형 프로퍼티 214
프로퍼티 관찰자 217
타입 프로퍼티 218
액세스 제어 222
예선 과제 226
본선 과제 226
결승 과제 226

17장 초기화 _ 228
이니셜라이저의 문법 228
구조체의 초기화 229
클래스 초기화 236
실패 가능 이니셜라이저 247
초기화, 조금 더 깊게 250
본선 과제 251
결승 과제 251
호기심을 누르지 못하는 독자를 위해: 이니셜라이저의 파라미터 251

18장 값 타입 vs. 참조 타입 _ 253
값의 세만틱스 253
참조의 세만틱스 256
상수의 값 타입과 참조 타입 258
값 타입과 참조 타입 함께 사용하기 261
복사하기 262
동일성 vs. 정체성 264
무엇을 사용해야 할까? 266
호기심을 누르지 못하는 독자를 위해: 쓰기 시 복사 267

5부 스위프트 고급
19장 프로토콜
_ 279
데이터 테이블 만들기 279
프로토콜 283
프로토콜 준수 288
프로토콜 상속 289
프로토콜 구성 290
변경용 메서드 292
본선 과제 293
결승 과제 293

20장 오류 처리 _ 294
오류의 범주 294
입력 문자열 분석하기 295
오류 잡아내기 305
Token 배열 파싱하기 307
눈 가리고 아웅 격으로 오류 처리하기 311
스위프트의 오류 처리 철학 314
예선 과제 316
본선 과제 316
결승 과제 317

21장 확장 _ 318
기존 타입 확장하기 319
직접 만든 타입 확장하기 320
예선 과제 326
본선 과제 326

22장 제네릭 _ 327
제네릭 데이터 구조 327
제네릭 함수와 메서드 330
타입 제한 조건 333
연결되는 타입 프로토콜 334
타입 제한 조건의 where 절 338
예선 과제 340
본선 과제 340
결승 과제 340
호기심을 누르지 못하는 독자를 위해: 옵셔널 이해하기 341
호기심을 누르지 못하는 독자를 위해: 파라미터 다형성 341

23장 프로토콜 확장 _ 343
Exercise 구체화하기 343
Exercise 확장하기 345
프로토콜 확장과 where 절 347
프로토콜 확장의 기본 구현 348
사물에 이름 짓기: 조심 또 조심 351
예선 과제 353
결승 과제 353

24장 메모리 관리와 ARC _ 355
메모리 할당 355
강한 참조 주기 356
강한 참조 주기를 부숴 약한 참조로 만들기 361
클로저의 참조 주기 363
클로저 이스케이프/비이스케이프 처리하기 368
예선 과제 371
본선 과제 371
호기심을 누르지 못하는 독자를 위해:
인스턴스의 참조 횟수를 조회할 수 있는가? 371

25장 Equatable과 Comparable _ 372
Equatable 준수하기 373
Comparable 준수하기 376
Comparable의 상속 379
예선 과제 380
본선 과제 380
극기훈련 381
호기심을 누르지 못하는 독자를 위해: 커스텀 연산자 381

6부 이벤트 구동 방식 애플리케이션
26장 첫 코코아 애플리케이션
_ 389
VocalTextEdit 시작하기 390
모델-뷰-컨트롤러 392
뷰 컨트롤러 설정하기 393
인터페이스 빌더에서 뷰 설정하기 395
연결하기 403
VocalTextEdit에서 소리 내어 읽기 406
문서 저장하기와 로드하기 409
타입 변환 411
본선 과제 419
결승 과제 420

27장 첫 iOS 애플리케이션 _ 421
iTahDoodle 시작하기 422
사용자 인터페이스 배치하기 423
할 일 리스트 형상화하기(modeling) 432
UITableView 설정하기 437
TodoList 저장하기와 로드하기 439
예선 과제 443
본선 과제 443
결승 과제 443

28장 상호운영성 _ 445
오브젝티브-C 프로젝트 446
오브젝티브-C 프로젝트에 스위프트 추가하기 455
오브젝티브-C 클래스 추가하기 468
본선 과제 475
결승 과제 476

29장 결론 _ 477
이제 앞으로 나아갈 곳은? 477
염치가 없지만 477
초대 478

찾아보기 _ 480

저자소개

매튜 마티아스 (지은이)    정보 더보기
빅 너드 랜치의 교수 부장이자 iOS 강사다. 이전에는 사회학으로 박사 학위를 받았고, 대학 강의를 하기도 했다. 현재는 빅 너드 랜치의 역량 있는 저자, 강사들과 함께하며 최고의 프로그래밍 교재와 강의를 제공하고 있다. 자전거 타기와 만화, 게임을 좋아한다.
펼치기
존 갤러거 (지은이)    정보 더보기
소프트웨어 엔지니어이자 빅 너드 랜치의 강사다. 고객용 앱 개발 이외에도 초소형 임베디드 시스템 및 초대형 슈퍼컴퓨터에 많은 노력을 쏟고 있다. 새로운 프로그래밍 언어를 즐기며 이들을 혼합하여 사용할 수 있는 방법을 찾고 있기도 하다. 그 외의 시간은 주로 아내와 세 딸과 함께 보낸다.
펼치기
배장열 (옮긴이)    정보 더보기
스마트폰 게임 개발이라는 목표를 동기 부여 삼아 전원 생활을 준비하고 있는 iOS, 안드로이드 개발자. 옮긴 책으로는 『초등 놀이 코딩』 『코딩 어드벤처 1~4』 『20 코딩 게임 WITH 스크래치』 『마인크래프트로 배우는 파이썬 프로그래밍』 들이 있다.
펼치기

책속에서

이 장에서는 상수와 변수, 스위프트의 기본 데이터 타입을 소개하겠다. 이들은 어떤 프로그램에도 바탕이 되는 일종의 빌딩 블록이라고 할 수 있다. 애플리케이션에서 어떤 값을 저장하거나 데이터를 전달할 때는 상수와 변수를 사용한다. 타입은 상수나 변수에 담긴 데이터의 본질을 드러낸다. 상수와 변수에는 그 쓰임새를 결정짓는 중요한 차이가 존재하며, 이 둘은 데이터 타입과도 엄연히 다르다.


스위프트는 어떤 문자열에 구성된 유니코드 스칼라 모두를 확인할 수 있는 방법도 제공한다. 앞에서 만든 playground라는 String 인스턴스를 예로 들어 보자. 스위프트가 문자열을 만들 때 바탕으로 삼는 스칼라들은 모두 unicodeScalars 프로퍼티(property)에 담겼는데, playground 인스턴스도 이 프로퍼티를 사용하여 만든 것이었다. 다음 코드를 플레이그라운드에 추가하여 playground의 유니코드 스칼라들을 확인해 보자.


코드를 입력하면 컴파일러 오류가 발생한다. self를 메서드 안으로 대입할 수 없다는 의미의 오류다. 스위프트에서 열거형은 값 타입(value type)이며, 이 값 타입의 메서드는 self를 변경할 수 없다(값 타입에 관한 세부 내용은 15장에서 다루고 있다). 값 타입의 메서드에서 self를 변경하도록 허용하려면 메서드에 mutating이라는 키워드를 붙여야 한다. 이를 구현해 보자.


추천도서

이 포스팅은 쿠팡 파트너스 활동의 일환으로,
이에 따른 일정액의 수수료를 제공받습니다.
이 포스팅은 제휴마케팅이 포함된 광고로 커미션을 지급 받습니다.
도서 DB 제공 : 알라딘 서점(www.aladin.co.kr)
최근 본 책