목차 일부
이 책에 쏟아진 찬사 ... 4
저자 소개 ... 7
감사의 글 ... 8
옮긴이 소개 ... 9
옮긴이의 말 ... 10
들어가며 ... 26
01장 아이폰 SDK 소개 ... 31
애플 아이폰 SDK ... 31
아이폰 프로젝트 ... 33
아이폰 애플리케이션 컴포넌트 ... 35
애플리케이션 폴더 구조 ... 35
...
더보기
목차 전체
이 책에 쏟아진 찬사 ... 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
더보기 닫기