목차
이 책에 쏟아진 찬사 ... 4
저자 소개 ... 7
감사의 글 ... 8
옮긴이 소개 ... 9
옮긴이의 말 ... 10
들어가며 ... 26
01장 아이폰 SDK 소개 ... 31
   애플 아이폰 SDK ... 31
   아이폰 프로젝트 ... 33
   아이폰 애플리케이션 컴포넌트 ... 35
      애플리케이션 폴더 구조 ... 35
      실행파일 ... 35
      Info.plist 파일 ... 36
      아이콘과 기본 이미지 ... 38
      XIB 파일 ... 39
      애플리케이션 번들에 포함되지 않은 파일 ... 39
      샌드박스 ... 39
   플랫폼의 제약사항 ... 40
      저장공간 ... 41
      데이터 접근 ... 41
      메모리 ... 41
      상호작용 ... 42
      배터리 ... 43
      애플리케이션 ... 43
      사용자 행동 ... 44
   SDK의 제약사항 ... 44
   프로그래밍 패러다임 ... 45
      객체 지향 프로그래밍 ... 45
      모델-뷰-컨트롤러 ... 46
   아이폰 애플리케이션 골격 만들기 ... 56
   Hello World 애플리케이션 ... 57
      클래스 ... 57
      코드 ... 59
      예제 코드와 메모리 관리에 대한 주의점 ... 60
   Hello World 만들기 ... 62
      아이폰 프로젝트 생성 ... 63
      골격만 실행해보기 ... 64
      아이폰 프로젝트 커스터마이즈 ... 65
      식별자 정보 수정 ... 66
      디버거 사용 ... 67
   애플 아이폰 개발자 프로그램 ... 69
      개발용 폰 ... 70
      애플리케이션 식별자 ... 71
   엑스코드에서 아이폰으로: 오거나이저 인터페이스 ... 72
      프로젝트와 소스 리스트 ... 73
      디바이스 리스트 ... 73
      써머리 탭 ... 74
      콘솔 탭 ... 74
      크래쉬 로그 탭 ... 75
      스크린샷 탭 ... 75
      케이블 연결 ... 75
      아이폰상에서 애플리케이션 테스트하기 ... 76
      배포용 컴파일 ... 77
   문서에 없는 API 호출 사용하기 ... 79
   애드혹 배포 ... 80
   정리 ... 81
02장 뷰 ... 83
   UIView와 UIWindow ... 83
      계층구조 ... 84
      형태와 특성 ... 86
      제스처 ... 90
   예제: 단계적 하위뷰 붙이기 ... 90
      방향전환 ... 92
   예제: 뷰 드래깅 ... 94
      UITouch ... 95
      지속성 추가 ... 98
   예제: 뷰 오려내기 ... 103
      잘라내기와 터치 맞추기 ... 104
      픽셀단위 값에 접근하기 ... 105
   예제: 멀티터치 감지 ... 108
   UIView 애니메이션 ... 111
      UIView 애니메이션 블록 만들기 ... 112
   예제: 뷰를 페이드 인 / 아웃하기 ... 113
   예제: 뷰 간 전환하기 ... 115
   예제: 뷰 뒤집기 ... 118
   예제: CATransition을 레이어에 적용하기 ... 120
      문서에 나오지 않는 애니메이션 타입 ... 121
      일반 코어 애니메이션 호출 ... 123
   예제: 뷰 스와이프하기 ... 124
   예제: 뷰 변형하기 ... 128
      가로보기 뷰를 가운데로 맞추기 ... 131
   정리 ... 132
03장 뷰 컨트롤러 ... 135
   뷰 관리 ... 135
      코어 클래스 ... 136
      스페셜 클래스 ... 136
      UIViewController 만들기 ... 138
   인터페이스 빌더를 사용한 뷰 만들기 ... 140
      온도 변환기 예제 ... 140
   직접 XIB 파일을 로딩하기 ... 152
   내비게이션 컨트롤러 ... 152
      내비게이션 컨트롤러 설정 ... 153
      뷰 컨트롤러를 스택에 넣고 꺼내기 ... 154
      내비게이션 아이템 클래스 ... 155
   예제: 아이템 둘 있는 메뉴 만들기 ... 156
   예제: 세그먼트 컨트롤 추가하기 ... 158
   예제: 내비게이션바에 UIToolbar 추가하기 ... 160
   예제: 뷰 컨트롤러 간의 내비게이션 ... 164
      루트로 바로 가기 ... 166
      뷰 컨트롤러 배열 읽어들이기 ... 166
   탭바 ... 167
   정리 ... 171
04장 알림 ... 173
   알림창을 통해 사용자에게 직접 알리기 ... 173
      결과 로깅 ... 174
      알림창 만들기 ... 175
      화면에 알림창 띄우기 ... 177
   예제: 여러 줄짜리 버튼 만들기 ... 177
   예제: 버튼 없는 알림창 ... 180
   예제: 사용자에게 텍스트 입력 요청하기 ... 181
   예제: 간단한 메뉴 ... 184
   '대기 중': 사용자에게 진행 상황 보여주기 ... 186
   예제: 문서화되지 않은 UIProgressHUD 사용 ... 187
   예제: UIActivityIndicatorView 사용 ... 189
   예제: UIProgressView 만들기 ... 191
   예제: 선택 가능한 커스텀 오버레이 만들기 ... 194
   예제: 스크롤다운 알림창 만들기 ... 199
   예제: 상태바에 이미지 추가하기 ... 203
   애플리케이션 뱃지 달기 ... 204
   예제: 간단한 소리 알림 ... 207
      진동 ... 209
   정리 ... 210
05장 기본 테이블 ... 211
   UITableView와 UITableViewController 소개 ... 211
      테이블 만들기 ... 212
      UITableViewController가 하는 일 ... 214
   예제: 단순 리스트 테이블 만들기 ... 215
      데이터 소스 메소드 ... 215
      셀의 재사용 ... 216
      폰트 테이블 예제 ... 216
   예제: 테이블 기반 선택 시트 만들기 ... 219
   예제: 테이블 셀에 이미지 추가하기 ... 224
   예제: 셀의 텍스트 속성 ... 226
      셀 선택 제거 ... 228
   예제: 복잡한 셀 만들기 ... 229
   예제: 셀 선택 표시 만들기 ... 232
   예제: 셀 삭제 ... 233
      삭제 컨트롤 추가 ... 234
      삭제 컨트롤 제거 ... 235
      삭제 요청 처리 ... 235
      스와이핑 셀 ... 236
      셀 추가 ... 236
   예제: 셀 순서 변경하기 ... 239
   예제: 디스클로저의 사용 ... 240
   정리 ... 243
06장 고급 테이블 ... 245
   예제: 테이블 섹션 그룹화 ... 245
      섹션을 지원하는 데이터 소스 ... 247
      섹션 헤더 추가하기 ... 251
   예제: 인덱스 섹션 테이블 ... 253
   예제: 셀 배경색 바꾸기 ... 254
      테이블 뷰 꾸미기 ... 258
   예제: 두 배경색이 반복되는 셀 ... 260
   예제: 프레임을 사용한 테이블 ... 262
   예제: 셀에 컨트롤 추가하기 ... 264
   예제: 멀티 휠 테이블 ... 266
      UIPickerView 생성 ... 268
   예제: UIDatePicker 사용하기 ... 271
      날짜 피커 만들기 ... 271
   예제: 풀 커스터마이징된 그룹 테이블 만들기 ... 274
      설정 테이블 만들기 ... 274
   정리 ... 281
07장 미디어 ... 283
   예제: 파일 형식에 따라 문서 폴더의 내용 보기 ... 283
      문서의 위치 찾기 ... 285
   이미지를 읽고 보여주기 ... 287
   예제: 작은 이미지 보여주기 ... 288
   예제: UIWebView를 사용해 이미지 보여주기 ... 291
      UIWebView를 이용해 웹 페이지 보여주기 ... 293
   예제: 이미지 라이브러리 브라우징 ... 294
   예제: 카메라 롤에서 이미지를 선택하고 커스터마이징 ... 298
   예제: 아이폰 카메라로 사진 찍기 ... 302
   아이폰 오디오 다루기 ... 305
   예제: 셀레스티얼을 이용한 오디오 재생 ... 306
   예제: 미디어 플레이어를 이용한 오디오와 비디오 재생 ... 309
   예제: 오디오 녹음 ... 311
   텍스트 데이터 읽기 ... 319
      속성 리스트 출력하기 ... 320
   백업 파일에서 미디어 복원하기 ... 321
   정리 ... 323
08장 컨트롤 ... 325
   예제: 간단한 버튼 ... 325
      UIButton 클래스 ... 326
      커스텀 버튼 ... 328
      글래스 버튼 ... 331
   예제: 애니메이션 요소로 버튼 꾸미기 ... 332
   예제: 버튼에 애니메이션 추가하기 ... 333
   예제: 스위치 커스터마이징 ... 335
      UIAlertView 버튼 꾸미기 ... 339
   예제: 커스텀 슬라이더 썸 이미지 추가 ... 340
      슬라이더에 텍스트 추가 ... 344
   예제: UITextField 키보드 사라지게 하기 ... 345
   예제: UITextView 키보드 사라지게 하기 ... 347
   예제: 텍스트 뷰에 취소 버튼 추가 ... 349
   예제: 텍스트 기반 HTML 편집기 ... 352
   예제: 검색바 ... 356
   예제: 콜아웃뷰 추가 ... 358
   페이지 표시 컨트롤 추가 ... 361
   예제: 툴바 커스터마이징 ... 365
      툴바 팁 ... 369
   정리 ... 370
09장 사람, 위치, 변화 ... 371
   연락처 프레임워크 종류 ... 371
      연락처 UI 프레임워크 ... 372
      연락처 프레임워크 ... 372
   예제: 연락처 이미지 데이터 접근 ... 374
   예제: 개인 연락처 정보 보이기 ... 377
   예제: 연락처 브라우징 ... 378
      이메일 주소만 브라우징하기 ... 381
      연락처 추가 ... 381
   코어 로케이션 ... 382
      코어 로케이션 동작 원리 ... 383
   예제: 코어 로케이션 ... 385
   예제: 위치 정보를 주소로 변환 ... 390
   예제: 코어 로케이션 데이터를 사용한 지도 찾기 ... 393
   예제: 코어 디바이스 정보 접근 ... 396
   예제: 근접 센서 켜고 끄기 ... 397
   예제: 가속도를 사용해 위아래 구별 ... 398
   예제: 가속도 센서를 이용해 화면 상 오브젝트 움직이기 ... 400
   정리 ... 404
10장 서비스 연결 ... 405
   예제: 애플리케이션 설정 추가 ... 405
      애플리케이션 설정 ... 406
   예제: 커스텀 URL 스킴 등록 ... 411
   예제: 네트워크 상태 확인 ... 414
      네트워크 연결 상태 확인 ... 414
      아이폰 로컬 IP 주소 조회 ... 415
      사이트 IP 주소 조회 ... 417
      사이트 사용 가능 여부 확인 ... 417
   예제: 아이폰 데이터베이스 사용 ... 419
   예제: XML을 트리 데이터 구조로 변환 ... 422
   예제: 키체인 아이템 저장과 조회 ... 425
      키체인에 여러 값 저장 ... 431
      키체인 지속성 ... 433
   파일 전송과 수신 ... 433
   예제: 간단한 웹 서버 만들기 ... 435
   푸시 알림 서비스 ... 440
   정리 ... 441
11장 커버플로우 만들기 ... 443
   UICoverFlowLayer 클래스 ... 443
   커버플로우 뷰 만들기 ... 445
   커버플로우 뷰 컨트롤러 만들기 ... 448
      커버플로우 데이터소스 메소드 ... 450
      커버플로우 델리게이트 메소드 ... 450
   정리 ... 455
부록 아이폰 개발에 꼭 필요한 오브젝티브C 기초와 메모리 관리 ... 457
   오브젝티브 C ... 458
   메소드 호출 ... 458
   접근자 ... 460
   객체 생성 ... 460
   클래스 인터페이스 정의 ... 461
   클래스 구현 ... 462
   클래스 프로퍼티 ... 462
   프로토콜 ... 463
   카테고리 ... 464
   메모리 관리 ... 465
   메모리 관리 예제 ... 467
   마치면서 ... 470
찾아보기 ... 472
닫기