목차
1 왜 아이폰인가? ... 15
   아이폰 ... 15
   아이폰과 앱 스토어 ... 18
   우리는 왜 아이폰으로 개발하는가? ... 20
   아이폰 개발을 위한 준비 ... 24
      1] 하드웨어 ... 24
      2] 소프트웨어 ... 27
2 아이폰 개발자 프로그램 ... 31
   아이폰 개발자 프로그램에 등록하기 ... 32
   아이폰에 애플리케이션 올리기 ... 37
      1] 아이폰 개발팀 설정하기 ... 38
      2] 아이폰 개발 인증서 받기 ... 40
      3] 아이폰/아이팟 터치 설정하기 ... 44
      4] 애플리테이션 ID 만들기 ... 46
      5] Provisioning Profile 설치하기 ... 47
      6] 애플리케이션 설치하기 ... 49
   앱 스토어에 애플리케이션 올리기 ... 55
      1] 계약 정보와 계좌 정보 입력하기 ... 55
      2] 세금 정보 입력하기 ... 58
      3] 배포 환경 설정하기 ... 61
      4] iTunes Connector에 올리기 ... 67
3 Objective-C ... 69
   Objective-C란? ... 69
   Objective-C 객체지향 프로그래밍 ... 70
      1] 클래스와 인스턴스 ... 70
      2] 클래스와 객체 ... 71
   객체 메시지 전달 ... 72
      1] Objective-C 유형과 타입 ... 76
      2] 컴파일러 지시문 ... 77
   기본 문법 ... 77
      1] 객체 선언 ... 77
      2] 클래스 정의 ... 78
      3] 클래스 인터페이스: .h 파일 ... 79
      4] 클래스 구현: .m 파일 ... 84
      5] 자주 사용하는 문법 ... 90
   카테고리와 프로토콜 ... 98
      1] 카테고리 ... 98
      2] 프로토콜 ... 103
   유용한 클래스 ... 107
      1] NSObject ... 107
      2] 문자열 다루기 ... 107
      3] 컬렉션 ... 110
   메모리 관리 ... 116
      1] Reference Counting ... 116
      2] 객체 할당과 초기화 ... 118
      3] 객체 해지 ... 119
      4] 객체의 할당과 초기화 함께 하기 ... 121
      5] 혼동하기 쉬운 할당과 해지의 예 ... 123
4. Hello, iPhone! ... 127
   시작하기 ... 127
   준비 단계 ... 127
      1] 애플리케이션 라이프 사이클 ... 127
      2] 개발에 필요한 도구 ... 129
      3] 디버깅 도구 사용하기 ... 130
   예제: Hello, iPhone! ... 133
   예제: MyHello ... 141
      1] MyHello 프로젝트 요약 ... 141
      2] MyHello 프로젝트 만들기 ... 144
      3] 뷰 컨트롤러 추가하기 ... 145
      4] 뷰 꾸미기 ... 152
      5] 뷰 컨트롤러 구현하기 ... 159
5 UIView ... 165
   시작하기 ... 165
   UIView 클래스 ... 167
      1] UIView 살펴보기 ... 167
      2] UIView 객체 생성하고 초기화하기 ... 169
      3] UIView 계층 다루기 ... 174
      4] UIView에서 그림 그리기 ... 177
   다양한 뷰 살펴보기 ... 182
      1] 데이터 표시 뷰 ... 186
      2] 컨트롤 관련 뷰 ... 195
      3] 사용자 알림 뷰 ... 212
6 뷰 컨트롤러 ... 229
   시작하기 ... 229
   UIView Controller ... 230
      1] UIViewController 클래스 살펴보기 ... 230
      2] 회전(Rotation) 다루기 ... 233
   Navigation Controller ... 239
      1] Navigation Controller 생성하기 ... 240
      2] Pushing/Popping View Controller ... 244
      3] Modal View Controller 생성하기 ... 249
      4] Navigation Item 클래스 ... 251
      5] Navigation Bar 응용하기: Segmented Control 추가하기 ... 255
      6] Navigation Bar 응용하기: UIToolbar 추가하기 ... 261
      7] 기타 유용한 함수 ... 265
   Tab Bar Controller ... 265
      1] Tab Bar Controller 생성하기 ... 266
      2] Tab Bar Item 만들기 ... 267
      3] Tab Bar 응용하기: Simple TabBar ... 270
   Tab Bar와 Navigation Controller 함께 사용하기 ... 276
7 터치(Touch) ... 283
   싱글 터치 ... 283
      1] UITouch ... 284
      2] UIEvent ... 285
      3] 터치 받아들이기 ... 287
      4] 실습 예제 ... 288
   멀티 터치 ... 295
8 테이블 이용하기: Table View ... 303
   시작하기 ... 303
   스크롤 뷰 ... 304
      1] UIScrollView 클래스 ... 304
      2] Scroll View 예제: Simple Scroll View ... 309
      3] 스크롤 뷰 예제: Image Scroll ... 314
   테이블 다루기 ... 319
      1] 아이폰에서의 테이블 ... 319
      2] 기본 테이블 만들기 ... 321
      3] 계층적 테이블 만들기 ... 327
      4] 인덱스 섹션 테이블 만들기 ... 336
   고급 테이블 ... 346
      1] 맞춤형 셀(Custom Cell) 사용하기 ... 347
      2] 행 삽입/삭제하기 ... 357
9 멀티미디어(소리, 비디오, 애니메이션) ... 367
   소리 ... 367
      1] 짧은소리 재생 ... 368
      2] 긴소리 재생 ... 377
   비디오 ... 384
      1] 비디오 파일 재생 방법 ... 384
      2] 비디오 파일 재생 실습 ... 386
   UIView 애니메이션 ... 390
      1] Fade In/Out ... 393
      2] 여러 개의 애니메이션 조합 ... 396
      3] 뷰의 뒤집기 효과(Flipping) ... 400
      4] CATransitions ... 405
      5] 뷰의 유사 변환(Affine Transformation) ... 408
      6] 순차적 UIView 애니메이션 ... 419
10 데이터 다루기 ... 427
   시작하기 ... 427
   작은 데이터 다루기 ... 428
      1] NSUserDefaults ... 428
      2] Property List 사용하기 ... 430
      3] 파일 다루기 ... 436
      4] 예제: NSUserDefaults와 pList를 이용한 애플리케이션 설정 값 저장 ... 439
   큰 데이터 다루기 ... 446
      1] SQLite란? ... 446
      2] SQLite 데이터베이스 생성하기 ... 446
      3] 데이터베이스에서 자료 가져오기 ... 450
      4] 데이터 삭제하기 ... 462
      5] 데이터 추가하기 ... 466
   지역화 ... 477
      1] 문자열의 지역화 ... 478
      2] xib 파일의 지역화 ... 481
      3] 아이콘의 지역화 ... 482
   데이터 포매팅 ... 485
      1] 숫자 포맷: NSNumberFormatter ... 486
      2] 날짜 포맷: NSDateFormatter ... 488
11 네트워크 ... 491
   시작하기 ... 491
   네트워크 정보 알아보기 ... 493
      1] 네트워크 상태 파악하기 ... 493
      2] 내 IP 알기 ... 499
      3] 상대방 IP 알기 ... 503
   TCP 클라이언트 이용하기 ... 504
   TCP 서버 이용하기 ... 510
      1] 소켓 생성하고 Run Loop에 등록하기 ... 511
      2] 클라이언트 접속과 NSStream 객체 생성 ... 514
      3] 데이터 주고받기 ... 516
   Bonjour를 이용한 서비스 자동 발견 ... 519
      1] 서비스 배포하기(NSNetService 클래스) ... 520
      2] 서비스 찾기(NSNetServiceBrowser 클래스) ... 530
      3] 서비스 Resolve하기(NSStream 클래스) ... 536
닫기