• 시작하세요! 아이폰 5 프로그래밍
  • iOS SDK를 이용한 아이폰 개발

  • 데이브 마크, 잭 너팅, 제프 라마시 지음
  • 유윤선 옮김

  • 임베디드 & 모바일 시리즈 _ 023
  • ISBN: 9788992939676
  • 38,000원 | 2012년 05월 3일 발행 | 864쪽



이 책은 이미 한국 독자들이 잘 알고 있는 『시작하세요 아이폰 4 프로그래밍』의 개정판이다. 이번 개정판에서는 새로워진 엑스코드 4.2와 iOS 5 SDK에 맞게 전체 프로젝트를 모두 수정하고, iOS 5 SDK에서 새로 추가된 아이클라우드와 엑스코드의 새로운 작업 방식인 스토리보드를 소개하는 장을 두 개 추가했다. 더불어 ARC(객체 참조 카운팅)을 모든 프로젝트에 적용해 기존의 메모리 관리 방식을 새로워진 개발 환경에 맞게 수정하고, 가장 최신의 개발 기법을 적용해 모든 프로젝트를 수정했다.

이 책의 예제들은 모두 이전과 같은 애플리케이션을 개발하지만 접근 방식만큼은 크게 달라졌다. 일례로 기존에 헤더에 아웃렛이나 액션 메서드를 선언하고 인터페이스 빌더로 이동해 아웃렛이나 액션 메서드를 연결하는 방식에서 벗어나, 개정판에서는 코드로 드래그 기능을 활용해 액션과 아웃렛을 생성하면서 바로 연결한다. 또 스토리보드를 활용해 복잡한 레이아웃을 개발하는 법과, 아웃렛 컬랙션을 활용한 속성 관리법 등 이 책에는 iOS 5 SDK와 더불어 새로워진 엑스코드 4.x 개발 환경의 최신 개발 정보가 모두 담겨 있다.

이 책은 프로그래밍 도구 설치부터 iOS SDK의 고급 기능인 다중 스레딩 프로그래밍에 이르기까지 iOS 프로그래밍과 관련한 모든 내용을 상세히 다룬다. 특별히 이번 개정판에서는 iOS 5 SDK에서 새로 추가된 아이클라우드 백업 기능과 ARC를 활용한 속성 관리법, 스토리보드를 활용한 테이블 뷰 셀 디자인과 segue 활용법 등 최신 SDK와 최신 엑스코드에서 아이폰/아이패드/아이팟 터치 애플리케이션을 개발하는 데 필요한 지식을 모두 다룬다.

이 책을 통해 독자들은 iOS 프로그래밍의 기본 원리를 쉽게 익힐 수 있음은 물론, 어렵게만 보였던 테이블 뷰나, 내비게이션 컨트롤러의 동작 원리를 배울 수 있고, 최신 개발 환경에 맞게 효과적으로 애플리케이션을 개발하는 법을 배울 수 있다. 이 책은 장과 장의 예제가 별도 작성돼 있으므로 특정 주제에 대한 학습이 필요한 독자라면 언제든 해당 장을 펼쳐서 내용을 살펴볼 수 있다. 특별히 이 책의 이전 버전을 갖고 있는 독자라면 달라진 엑스코드 개발 환경을 다루는 2장, 스토리보드를 다루는 10장과, 아이클라우드를 다루는 14장을 먼저 읽어보면 많은 도움이 될 것이다. 또 ARC에 대해 소개하는 3장과 달라진 아이패드 애플리케이션을 개발하면서 달라진 엑스코드 템플릿을 다루는 11장 등도 눈여겨 볼 만하다.

이 책의 장점은 저자들의 혜안이 담겨 있다는 것이다. 이 책을 통해 독자들은 iOS 프로그래밍의 모범 개발 방식(best practice)을 자연스럽게 익힐 수 있다. 예를 들어 속성을 선언하는 방식이나 #pragma를 활용한 코드 구조화, 기저 컨트롤러의 구현과 컨트롤러 상속을 통한 코드 재사용, 스토리보드를 활용한 내비게이션 구현 등은 저자들이 주는 이런 혜안 중 일부에 지나지 않는다.

베스트셀러인 시작하세요 아이폰 4 프로그래밍의 저자들이 『시작하세요! 아이폰 5 프로그래밍』으로 다시 돌아왔다. 이번 개정판에서도 저자들은 최신 iOS SDK와 더불어 최신 버전의 엑스코드에 대한 완벽 가이드를 제공한다.

이번 개정판에서는 스토리보드와 아이클라우드를 소개하는 장을 별도로 추가하고 iOS 5 SDK에 맞춰 기존 장의 내용을 크게 수정하는 등 최신 기술을 모두 다루고 있다. 이 책에는 아이폰 4S, 아이패드 2, 최신 아이팟 터치 등 최신 iOS 기기용 앱을 개발하는 데 필요한 내용이 모두 들어 있다.

『시작하세요! 아이폰 5 프로그래밍』은 오브젝티브-C에 대한 최소한의 지식만을 전제한 후 친근하고, 따라 하기 쉬운 방식으로 아이폰, 아이패드, 아이팟 터치 프로그래밍을 기초부터 고급 내용까지 모두 소개한다. 이 책에서는 먼저 엑스코드와 iOS 5 SDK를 내려받는 등의 기본적인 내용부터 소개한 후 첫 번째 애플리케이션을 개발하는 과정을 안내한다.

이어서 애플 사용자들이 좋아하는 버튼, 스위치, 피커, 툴바, 슬라이더 같은 모든 인터페이스 요소와 연동하는 법을 살펴본다. 또 어렵게만 느껴지는 테이블 뷰 개발의 숨은 원리를 자세히 설명해주고 코어 데이터와 SQLite를 비롯한 다양한 영속성 기법을 활용해 데이터를 저장하고 조회하는 법을 살펴본다.

그 외에도 이 책에서는 많은 내용을 다룬다. 쿼츠 2D와 오픈지엘 ES를 활용한 드로잉, 애플리케이션에 (핀치와 스와이프 같은) 멀티터치 제스처 기능을 추가하는 법, 카메라와 사진 라이브러리 활용법, 가속도계, 내장 GPS 활용법 등도 이 책을 통해 모두 배울 수 있다. 또 애플리케이션 환경설정을 활용하는 법과 다국어로 앱을 지역화하는 법도 이 책에서는 빠짐 없이 다룬다.

  • 베스트셀러이자 코코아 터치 개발자들에게 가장 많이 추천하는 저서의 iOS 5 개정판
  • 개발자 관점에서 새로운 SDK를 익히는 데 도움을 주는 트릭, 기법, 열정으로 가득 찬 설명
  • 쉽게 이해하고 따라 할 수 있는 설명 방식

데이브 마크(Dave Mark)

데이브 마크는 오랫동안 맥 개발자이자 저자로 일하고 있으며 맥과 iOS 개발과 관련한 다양한 책을 저술했다. 데이브는 iOS와 안드로이드 개발 업체인 MartianCraft의 대표다. 데이브는 물가를 좋아하고 가능한 한 물가 가까운 곳에서 시간을 보낸다. 그는 아내와 세 아이와 함께 버지니아에서 살고 있다.

잭 너팅(Jack Nutting)

잭 너팅은 코코아를 코코아라고 부르기 전부터 코코아를 사용했다. 잭은 코코아와 코코아의 전신을 활용해 게임, 그래픽 디자인, 온라인 디지털 배포, 텔레콤, 금융, 출판, 여행 등 다양한 산업 분야의 애플리케이션을 개발했다. 맥이나 iOS 프로젝트 관련한 작업을 하지 않을 때는 루비 온 레일즈를 사용해 웹 애플리케이션을 개발하기도 한다. 잭은 오브젝티브-C와 코코아 프레임워크의 열렬한 지지자다. 잭은 이따금씩 http://www.nuthole.com에 블로그 글을 남긴다.

제프 라마시 (Jeff LaMarche)

제프 라마시는 20년 이상의 프로그래밍 경험을 지닌 맥과 iOS 개발자다. 제프도 iOS와 안드로이드 개발 업체인 MartianCraft의 대표다. 제프는 MacTech Magazine뿐 아니라 애플의 개발자 사이트에도 코코아와 오브젝티브-C에 대한 글을 기고한 바 있다. 또 제프는 많은 사람이 구독하는 자신의 블로그인 http://iphonedevelopment.blogspot.com에 iOS 개발에 대한 내용을 쓰고 있다.

유윤선

인디 개발자이자 프리랜서 번역가로 활동 중이다. 이따금 http://joshy21.com/weblog에 번역과 상관없는 글을 올리고 있다. 역서로는 『안드로이드 레시피(위키북스)』, 『시작하세요! Unity 3D 게임 프로그래밍 (위키북스)』, 『시작하세요! 안드로이드 게임 프로그래밍(위키북스)』, 『시작하세요! 아이폰 4 프로그래밍(위키북스)』, 『플래시 빌더 4 & 플렉스 4 바이블(위키북스)』, 『쉽고 빠르게 익히는 CSS3(위키북스)』, 『스프링 시큐리티 3(위키북스)』, 『시작하세요! 아이패드 프로그래밍(위키북스)』, 『플래시 게임 마스터(에이콘출판사)』, 『Adobe AIR 인 액션(위키북스)』, 『스프링 3 레시피(위키북스, 공역)』, 『액션스크립트 3.0 완벽가이드(인사이트, 공역)』 등이 있다.

 

옮긴이 글

이 책은 이미 한국 독자들이 잘 알고 있는 『시작하세요 아이폰 4 프로그래밍』의 개정판이다. 이번 개정판에서는 새로워진 엑스코드 4.2와 iOS 5 SDK에 맞게 전체 프로젝트를 모두 수정하고, iOS 5 SDK에서 새로 추가된 아이클라우드와 엑스코드의 새로운 작업 방식인 스토리보드를 소개하는 장을 두 개 추가했다. 더불어 ARC(객체 참조 카운팅)을 모든 프로젝트에 적용해 기존의 메모리 관리 방식을 새로워진 개발 환경에 맞게 수정하고, 최신 개발 기법을 적용해 모든 프로젝트를 수정했다.

이 책의 예제는 모두 이전과 같은 애플리케이션을 개발하지만 접근 방식만큼은 크게 달라졌다. 일례로 기존에 헤더에 아웃렛이나 액션 메서드를 선언하고 인터페이스 빌더로 이동해 아웃렛이나 액션 메서드를 연결하는 방식에서 벗어나, 개정판에서는 코드로 드래그 기능을 활용해 액션과 아웃렛을 생성하면서 바로 연결한다. 또 스토리보드를 활용해 복잡한 레이아웃을 개발하는 법과, 아웃렛 컬렉션을 활용한 속성 관리법 등 이 책에는 iOS 5 SDK와 더불어 새로워진 엑스코드 4.x 개발 환경의 최신 개발 정보가 모두 담겨 있다. 이 책에서 다루는 내용

이 책은 프로그래밍 도구 설치부터 iOS SDK의 고급 기능인 다중 스레딩 프로그래밍에 이르기까지 iOS 프로그래밍과 관련한 모든 내용을 상세히 다룬다. 특별히 이번 개정판에서는 iOS 5 SDK에서 새로 추가된 아이클라우드 백업 기능과 ARC를 활용한 속성 관리법, 스토리보드를 활용한 테이블 뷰 셀 디자인과 segue 활용법 등 최신 SDK와 최신 엑스코드에서 아이폰/아이패드/아이팟 터치 애플리케이션을 개발하는 데 필요한 지식을 모두 다른다.

이 책을 통해 독자들은 iOS 프로그래밍의 기본 원리를 쉽게 익힐 수 있음은 물론, 어렵게만 보였던 테이블 뷰나, 내비게이션 컨트롤러의 동작 원리를 배울 수 있고, 최신 개발 환경에 맞게 효과적으로 애플리케이션을 개발하는 법을 배울 수 있다. 이 책은 장과 장의 예제가 별도 작성돼 있으므로 특정 주제에 대한 학습이 필요한 독자라면 언제든 해당 장을 펼쳐서 내용을 살펴볼 수 있다. 특별히 이 책의 이전 버전을 갖고 있는 독자라면 달라진 엑스코드 개발 환경을 다루는 2장, 스토리보드를 다루는 10장과, 아이클라우드를 다루는 14장을 먼저 읽어보면 많은 도움이 될 것이다. 또 ARC에 대해 소개하는 3장과 달라진 아이패드 애플리케이션을 개발하면서 달라진 엑스코드 템플릿을 다루는 11장 등도 눈여겨볼 만하다.

이 책의 장점은 저자들의 혜안이 담겨 있다는 것이다. 이 책을 통해 독자들은 iOS 프로그래밍의 모범 개발 방식(best practice)을 자연스럽게 익힐 수 있다. 예를 들어 속성을 선언하는 방식이나 #pragma를 활용한 코드 구조화, 기저 컨트롤러의 구현과 컨트롤러 상속을 통한 코드 재사용, 스토리보드를 활용한 내비게이션 구현 등은 저자들이 주는 이런 혜안 중 일부에 지나지 않는다.

이 책의 대상 독자

이 책은 단순히 iOS 5 SDK에서 추가된 내용뿐 아니라 iOS 프로그래밍 전반을 다루고 있으므로 기존 개발자뿐 아니라 새로 iOS 프로그래밍에 입문하는 독자들이 읽기에도 좋은 책이다. 아울러 이 책의 이전 버전을 갖고 있는 독자라 하더라도 메모리 관리 방식을 비롯해 책의 내용 설명이 대부분 수정된 만큼, 이 책의 내용을 처음부터 끝까지 읽어보길 권장한다.

  • 01장 _ 정글에 온 것을 환영한다
    • 이 책에 대한 소개
    • 책에 필요한 도구
      • 개발자 옵션
      • 책을 이해하는 데 필요한 배경 지식
    • iOS 코딩의 차이점
      • 단 하나뿐인 활성 애플리케이션
      • 단 하나뿐인 창
      • 제한된 접근
      • 제한된 응답 시간
      • 제한된 화면 크기
      • 제한된 시스템 자원
      • 가비지 컬렉션은 없지만...
      • 코코아 터치의 고유 기능
      • 다른 접근 방식
    • 이 책에서 다루는 내용
    • 개정판에서 달라진 점
    • 시작할 준비가 되었나?
    •  
  • 02장 _ 티키 신 달래기
    • 엑스코드에서의 프로젝트 설정
      • 엑스코드 워크스페이스 창
      • 프로젝트 자세히 살펴보기
    • 엑스코드 인터페이스 빌더의 소개
      • Nib 파일에 포함된 내용
      • 라이브러리
      • 뷰에 라벨 추가하기
      • 속성의 변경
    • 아이폰 다듬기 - 화룡점정
    • 정리하며...
    •  
  • 03장 _ 기본 상호작용 처리
    • 모델-뷰-컨트롤러 패러다임
    • 프로젝트의 생성
    • 뷰 컨트롤러 살펴보기
      • 아웃렛과 액션의 이해
      • 뷰 컨트롤러 정리하기
      • UI 디자인
      • 테스트
    • 애플리케이션 델리게이트 살펴보기
    • 내용 정리
    •  
  • 04장 _ 더 재미있는 사용자 인터페이스
    • 컨트롤로 가득 찬 화면
    • 능동적, 정적, 수동적 컨트롤
    • 애플리케이션의 생성
    • 이미지 뷰와 텍스트 필드의 구현
      • 이미지 뷰의 추가
      • 이미지 뷰의 크기 조절
      • 뷰 어트리뷰트의 설정
      • 텍스트 필드의 추가
      • 아웃렛의 생성과 연결
    • 키보드 닫기
      • Done을 탭할 때 키보드 닫기
      • 배경을 터치할 때 키보드 닫기
      • 슬라이더와 라벨 추가
      • 액션 및 아웃렛의 생성과 연결
      • 액션 메서드의 구현
    • 스위치, 버튼, 분할 컨트롤의 구현
      • 스위치 액션의 구현
    • 분할 컨트롤의 액션 구현
    • 액션 시트와 경고창의 구현
      • 액션 시트 델리게이트 메서드의 프로토콜 따르기
      • 액션 시트 보여주기
    • 버튼 꾸미기
      • viewDidLoad 메서드의 활용
      • 컨트롤의 상태
      • 확장 가능 이미지
    • 결승선 통과하기
    •  
  • 05장 _ 자동 회전과 자동 크기 조절
    • 자동 회전 기법
      • 포인트, 픽셀, 레티나 디스플레이
      • 자동 회전 접근 방식
    • Autosize 어트리뷰트를 활용한 회전 처리
      • 지원 방향의 설정
      • 지원 방향의 지정
      • Autosize 어트리뷰트를 활용한 인터페이스 디자인
      • 사이즈 인스펙터의 Autosize 어트리뷰트 활용
      • 버튼의 Autosize 어트리뷰트 설정
    • 기기 회전 시 뷰 구조의 변경
      • 아웃렛의 생성과 연결
      • 회전 시 버튼 움직이기
    • 뷰 대체하기
      • 두 개의 뷰 디자인
      • 뷰 대체 기능 구현하기
      • 아웃렛 컬렉션의 수정
    • 이곳에서 빠져나가기
    •  
  • 06장 _ 멀티 뷰 애플리케이션
    • 자주 사용하는 멀티 뷰 애플리케이션 형태
    • 멀티 뷰 애플리케이션의 아키텍처
      • 루트 컨트롤러
      • 콘텐츠 뷰의 해부
    • View Switcher 애플리케이션의 개발
      • 뷰 컨트롤러 및 Nib 파일의 생성
      • 애플리케이션 델리게이트의 수정
      • BIDSwitchViewController.h의 수정
      • 뷰 컨트롤러의 추가
      • 툴바를 활용한 뷰 개발
      • 루트 뷰 컨트롤러의 작성
      • 콘텐츠 뷰의 구현
      • 화면 전환 애니메이션
    • 스위치를 내릴 시간
    •  
  • 07장 _ 탭 바와 피커
    • Pickers 애플리케이션
    • 델리게이트와 데이터 소스
    • 탭 바 프레임워크의 설정
      • 파일 생성
      • 루트 뷰 컨트롤러의 추가
      • TabBarController.xib의 생성
      • 초기 테스트 실행
    • 데이트 피커의 구현
    • 단일 컴포넌트 피커의 구현
      • 아웃렛과 액션의 선언
      • 뷰의 개발
      • 데이터 소스와 델리게이트로 활용할 컨트롤러의 구현
    • 멀티컴포넌트 피커의 구현
      • 아웃렛과 액션의 선언
      • 뷰의 개발
      • 컨트롤러의 구현
    • 의존 컴포넌트의 구현
    • 커스텀 피커를 활용한 간단한 게임 개발
      • 컨트롤러 헤더 파일의 작성
      • 뷰의 개발
      • 이미지 자원의 추가
      • 컨트롤러의 구현
      • 마지막 디테일
      • Audio Toolbox 프레임워크의 연결
    • 마지막 스핀
    •  
  • 08장 _ 테이블 뷰의 소개
    • 테이블 뷰의 기본
      • 테이블 뷰와 테이블 뷰 셀
      • 그룹 테이블과 일반 테이블
    • 간단한 테이블의 구현
      • 뷰 디자인
      • 컨트롤러의 작성
      • 이미지의 추가
      • 테이블 뷰의 셀 스타일 활용
      • 들여쓰기 수준의 설정
      • 행 선택의 처리
      • 폰트 크기와 행 크기의 수정
    • 테이블 뷰 셀의 커스터마이징
      • 테이블 뷰 셀에 하위 뷰 추가
      • UITableViewCell 하위 클래스의 작성
      • Nib을 통한 UITableViewCell 로드
    • 그룹 섹션과 인덱스 섹션
      • 뷰의 개발
      • 데이터 불러오기
      • 컨트롤러의 구현
      • 인덱스의 추가
    • 검색 바의 구현
      • 설계에 대한 생각 정리
      • 수정 가능 객체의 깊은 복사본
      • 컨트롤러 헤더 파일의 업데이트
      • 뷰의 수정
      • 컨트롤러 구현체의 수정
    • 한 테이블 위에 올려놓고 정리하기
    •  
  • 09장 _ 내비게이션 컨트롤러와 테이블 뷰
    • 내비게이션 컨트롤러의 기본
      • 스택이란?
      • 컨트롤러의 스택
    • 6개 영역으로 구성된 계층적 애플리케이션 Nav
      • 하위 컨트롤러 살펴보기
      • Nav 애플리케이션의 골격
      • 프로젝트에 이미지 추가
      • 첫 번째 하위 컨트롤러: 더 보기 버튼 뷰
      • 두 번째 하위 컨트롤러: 체크리스트
      • 세 번째 하위 컨트롤러: 테이블 행 내의 컨트롤
      • 네 번째 하위 컨트롤러: 이동 가능한 행
      • 다섯 번째 하위 컨트롤러: 삭제 가능한 행
      • 여섯 번째 하위 컨트롤러: 편집 가능한 상세 영역
      • 그런데 남은 작업이 한 개 더 있다. . .
    • 결승선 끊기
    •  
  • 10장 _ 스토리보드
    • 간단한 스토리보드의 생성
    • 동적 프로토타입 셀
      • 스토리보드를 활용한 동적인 테이블 콘텐츠
      • 프로토타입 셀의 편집
      • 익숙한 테이블 뷰 데이터 소스
      • 로드될까?
    • 정적 셀
      • 정적 셀 작업
      • 안녕, 테이블 뷰 데이터 소스
    • Segue
      • Segue 내비게이터의 생성
      • 빈 공간 채우기
      • 첫 번째 화면 전환
      • 조금 더 유용한 할일 목록
      • 할일 상세 화면
      • 더 많은 Segue의 생성
      • 리스트에서 할일 넘겨주기
      • 할일 상세의 처리
      • 상세 값을 다시 전달하기
      • 리스트가 상세 값 받게 하기
      • 다음 장으로의 부드러운 전환
    •  
  • 11장 _ 아이패드에 대한 고려사항
    • 분할 뷰와 팝 오버
      • 분할 뷰 프로젝트의 생성
      • 스토리보드를 활용한 구조 정의
      • 기능을 정의한 코드
    • 대통령님이 오십니다
    • 커스텀 팝오버의 생성
    • 아이패드 마무리
    •  
  • 12장 _ 애플리케이션 설정과 사용자 기본값
    • 설정 번들 이해하기
    • AppSettings 애플리케이션
      • 프로젝트의 생성
      • 설정 번들의 활용
      • 애플리케이션에서 설정 읽기
      • 기본값의 등록
      • 애플리케이션 내에서의 기본값 수정
      • 실제처럼 만들기
    • 스코티, 날 전송해줘
    •  
  • 13장 _ 데이터 영속성의 기본
    • 애플리케이션의 샌드박스
      • Documents 디렉터리 접근
      • tmp 디렉터리 접근
    • 파일 저장 전략
      • 단일 파일을 통한 영속화
      • 여러 파일을 통한 영속화
    • 프로퍼티 리스트의 활용
      • 프로퍼티 리스트의 직렬화
      • 데이터 영속성을 활용한 첫 번째 애플리케이션
    • 모델 객체 아카이빙
      • NSCoding 프로토콜 따르기
      • NSCopying의 구현
      • 데이터 객체의 아카이빙 및 아카이빙 해제
      • 아카이빙 애플리케이션
    • iOS의 임베디드 SQLite3 활용
      • 데이터베이스의 생성과 열기
      • 바인드 변수의 활용
      • SQLite3 애플리케이션
    • 코어 데이터의 활용
      • 엔티티와 관리 객체
      • 코어 데이터 애플리케이션
    • 영구적인 보상
    •  
  • 14장 _ 아이클라우드 시작하기
    •  
    • UIDocument를 활용한 문서 저장소 관리
      • TinyPix 개발
      • BIDTinyPixDocument의 생성
      • 코드 마스터
      • 초기 스토리보드 작업
      • BIDTinyPixView의 작성
      • 상세 뷰 스토리보드
    • 아이클라우드 지원 기능의 추가
      • 프로비저닝 프로파일의 생성
      • 아이클라우드 자격의 활성화
      • 조회 방법
      • 어디에 저장할까?
      • 아이클라우드에 환경설정 저장하기
    • 이 장에서 다루지 않은 내용
    •  
  • 15장 _ 그랜드 센트럴 디스패치, 백그라운드 처리, 그리고 여러분
    • 그랜드 센트럴 디스패치
    • SlowWorker의 소개
    • 스레딩의 기본
    • 작업 단위
    • GCD: 저수준 큐
      • 블록헤드 되기
      • SlowWorker의 개선
    • 백그라운드 처리
      • 애플리케이션 생명 주기
      • 상태 변화 알림
      • 실행 상태 살펴보기
      • 실행 상태 변화의 활용
      • 비활성 상태의 처리
      • 백그라운드 상태의 처리
    • 그랜드 센트럴 디스패치, 통신 끝!
    •  
  • 16장 _ 쿼츠와 오픈지엘을 활용한 드로잉
    • 그래픽 세계의 두 가지 뷰
    • 쿼츠 2D의 드로잉 접근 방식
      • 쿼츠 2D의 그래픽 컨텍스트
      • 좌표계
      • 색상의 지정
      • 컨텍스트 내에서의 이미지 드로잉
      • 도형 그리기: 다각형, 선, 곡선
      • 쿼츠 2D 툴 예제 - 패턴, 그라이언트, 점선 패턴
    • QuartzFun 애플리케이션
      • QuartzFun 애플리케이션의 설정
      • 쿼츠 2D 드로잉 코드의 추가
      • QuartzFun 애플리케이션의 최적화
    • GLFun 애플리케이션
      • GLFun 애플리케이션의 설정
      • BIDGLFunView의 생성
      • BIDViewController의 업데이트
      • Nib 파일의 업데이트
      • GLFun 애플리케이션의 마무리
    • 끝이 가까워지고 있다.
    •  
  • 17장 _ 탭, 터치, 제스처
    • 멀티터치 관련 용어
    • 리스폰더 체인
      • 이벤트에 반응하기
      • 리스폰더 체인을 활용한 이벤트 전달
    • 멀티터치 아키텍처
    • 네 가지 터치 알림 메서드
    • TouchExplorer 애플리케이션
    • Swipes 애플리케이션
      • 자동 제스처 인식
      • 다중 스와이프의 구현
    • 멀티 탭의 감지
    • 핀치의 감지
    • 커스텀 제스처의 정의
      • CheckPlease 애플리케이션
      • CheckPlease 터치 메서드
    • 저기요? 확인 부탁해요!
    •  
  • 18장 _ 여기는 어디? 코어 로케이션을 활용한 길 찾기
    • 위치 관리자
      • 원하는 정확도의 설정
      • 거리 필터의 설정
      • 위치 관리자의 사용 시작
      • 위치 관리자의 현명한 활용법
    • 위치 관리자 델리게이트
      • 위치 업데이트 받기
      • CLLocation을 활용한 위도와 경도 파악
      • 에러 통보
    • 코어 로케이션의 활용
      • 위치 관리자 업데이트
      • 이동 거리의 판단
    • 어디를 가든, 그 자리에 여러분이 있다
    •  
  • 19장 _ 야호! 자이로와 가속도계!
    • 가속도계 물리 이론
    • 회전을 잊지 말자
    • 코어 모션과 모션 관리자
      • 이벤트 기반의 모션
      • 적극적인 모션 접근
      • 가속도계의 결과
    • 흔들림 감지
      • 흔들림 감지 내장 기능
      • 흔들어서 깨뜨리기
    • 가속도계를 활용한 방향 제어
      • 구슬 굴리기
      • BIDBallView의 작성
      • 구슬의 움직임 계산
    • 계속 구르기
    •  
  • 20장 _ 카메라와 사진 라이브러리
    • 이미지 피커와 UIImagePickerController의 활용
    • 이미지 피커 컨트롤러 델리게이트의 구현
    • 카메라와 사진 라이브러리의 길거리 테스트
      • 인터페이스 디자인
      • 카메라 뷰 컨트롤러의 구현
    • 식은 죽 먹기!
    •  
  • 21장 _ 애플리케이션 지역화
    • 지역화 아키텍처
    • 문자열 파일
      • 문자열 파일의 내용
      • 지역화된 문자열 매크로
    • 현실 세계의 iOS: 애플리케이션의 지역화
      • LocalizeMe 애플리케이션의 설정
      • LocalizeMe의 테스트
      • Nib 파일의 지역화
      • 이미지의 지역화
      • 문자열 파일의 생성과 지역화
      • 애플리케이션 표시 이름의 지역화
    • 안녕, 또 만나요
    •  
  • 22장 _ 이제 어디로?
    • 애플의 문서
    • 메일링 목록
    • 토론 포럼
    • 웹 사이트
    • 블로그
    • 컨퍼런스
    • 저자 트위터 팔로우
    • 작별 인사
  • 4쪽, 박스 바로 위 줄

    매킨토스 --> 매킨토시

  • 170쪽, 그림 6-10에서

    UIViewController subclass가 선택된 그림 --> Objective-C class가 선택된 그림으로 바뀌어야 함

  • 170쪽, 그림 6-10 바로 밑에 두번째 줄에서

    이 중 UIViewController subclass를 선택하고 --> 이 중 Objective-C class를 선택하고

예제코드 관련 GitHub 페이지

관련 글