Chapter 01 간단한 iOS 앱
Xcode 프로젝트 만들기
인터페이스 만들기
모델-뷰-컨트롤러
선언
커넥션 만들기
메소드 구현하기 43
빌드하고 시뮬레이터에서 실행하기
앱 배포하기
앱 아이콘
런치 이미지
Chapter 02 오브젝티브-C
객체
인스턴스 사용하기
RandomPossessions 툴 작성하기
오브젝티브-C 클래스의 하위 클래스 만들기
예외와 콘솔 윈도우
고속 열거형
도전 과제
Chapter 03 메모리 관리
메모리 관리의 기본
레퍼런스 카운팅
좀 더 흥미 있는 분을 위해: 더 심화된 메모리 관리
Chapter 04 델리게이션과 코어 로케이션
프로젝트, 타깃, 프레임워크
코어 로케이션
델리게이션
디버거 사용하기
도전 과제: 헤딩
좀 더 흥미 있는 분을 위해: 빌드 페이스, 컴파일러 에러, 링커 에러
Chapter 05 맵킷과 텍스트 입력
객체 다이어그램
맵킷 프레임워크
인터페이스 프로퍼티
MapView 델리게이트 되기
도전 과제: 어노테이션 확장
도전 과제: 역지오코딩(Reverse Geocoding)
Chapter 06 UIView 하위 클래스 만들기
커스텀 뷰 만들기
텍스트와 그림자 그리기
UIScrollView 사용하기
확대하기
상태 바 가리기
도전 과제: 색깔
좀 더 흥미 있는 분을 위해: 리테인 사이클
좀 더 흥미 있는 분을 위해: 뷰 다시 그리기
Chapter 07 뷰 컨트롤
뷰 컨트롤러와 XIB 파일
뷰 컨트롤러 사용하기
나타났다 사라지는 뷰
뷰 컨트롤러 수명 주기와 로우-메모리 경고
뷰 컨트롤러의 하위 클래스와 템플릿
도전 과제: 맵 탭
Chapter 08 가속센서
가속센서 설정하기
가속센서 데이터 구하기
가속도의 위치와 크기
가속센서 데이터 사용하기
가속센서 데이터 다듬기
흔들기 제스처 감지하기
도전 과제: 색 바꾸기
좀 더 흥미 있는 분을 위해: 필터링과 주파수
좀 더 흥미 있는 분을 위해: 레티나 디스플레이
Chapter 09 노티피케이션과 회전
노티피케이션 센터
UIDevice 노티피케이션
자동회전
가로 모드 강제설정하기
도전 과제: 근접 노티피케이션
좀 더 흥미 있는 분을 위해: 자동회전을 오버라이드하기
Chapter 10 UITableView와 UITableViewController
Homepwner 앱 시작하기
UITableViewController
UITableView의 데이터 소스
UITableViewCells
코드 스니펫 라이브러리
도전 과제: 섹션
Chapter 11 UITableView 편집하기
편집 모드
행 추가하기
행 삭제하기
행 이동하기
Chapter 12 UINavigationController
UINavigationController
추가적인 UIViewController
UINavigationController로 내비게이트하기
도전 과제: 숫자 패드
Chapter 13 카메라
이미지 보여주기와 UIImageView
도전 과제: 이미지 삭제하기
좀 더 흥미 있는 분을 위해: 비디오 녹화하기
Chapter 14 UIPopoverController와 모달 뷰 컨트롤러
Homepwner 유니버설로 만들기
UIPopoverController
모달 뷰 컨트롤러
Chapter 15 저장, 읽기, 멀티태스킹
앱 샌드박스
파일 경로 구성하기
아카이빙
앱 상태, 변환, 멀티태스킹
NSData를 파일시스템에 쓰기
로우-메모리 경고에 대해
모델-뷰-컨트롤러-스토어 디자인 패턴
도전 과제: Whereami 아카이브하기
좀 더 흥미 있는 분을 위해: 앱 상태 변환
좀 더 흥미 있는 분을 위해: 파일시스템에 읽고 쓰기
좀 더 흥미 있는 분을 위해: 앱 번들
Chapter 16 UITableViewCell의 하위 클래스 만들기
HomepwnerItemCell 생성하기
이미지 조작
도전 과제: 액세서리 인디케이터
도전 과제: 메인 이미지 줄이기
Chapter 17 코어 데이터
객체-관계 매핑
Homepwner를 코어 데이터로 이동하기
SQL에 대해 좀 더 알아보기
영구적 메커니즘의 장단점
도전 과제: 새로운 Asset 타입
도전 과제: 아이패드에서의 Asset
Chapter 18 현지화
NSLocale을 이용해 현지화하기
리소스 현지화하기
NSLocalizedString과 문자열 테이블
도전 과제: 또 다른 현지화
좀 더 흥미 있는 분을 위해: 국제화에서 NSBundle의 역할
Chapter 19 설정
Whereami 갱신하기
NSUserDefaults
좀 더 흥미 있는 분을 위해: 설정 앱
Chapter 20 터치 이벤트와 UIResponder
터치 이벤트
TouchTracker 앱 만들기
터치를 라인으로 바꾸기
응답자 체인
도전 과제: 저장하기와 로딩하기
도전 과제: 원
좀 더 흥미 있는 분을 위해: UIControl
Chapter 21 인스트루먼트
정적 분석기
인스트루먼트
Xcode 스킴
빌드 세팅
Chapter 22 코어 애니메이션 레이어
레이어와 뷰
CALayer 생성하기
레이어 컨텐트
암시적 애니메이션이 가능한 프로퍼티
좀 더 흥미 있는 분을 위해: 프로그램 코드로 컨텐트 만들어내기
좀 더 흥미 있는 분을 위해: 레이어, 비트맵, 컨텍스트
도전 과제: 동적 레이어 컨텐트
Chapter 23 CAAnimation으로 애니메이션 제어하기
애니메이션 객체
CABasicAnimation으로 회전하기
CAKeyframeAnimation으로 바운스하기
도전 과제: 추가 애니메이션
좀 더 흥미 있는 분을 위해: 프레젠테이션 레이어와 모델 레이어
Chapter 24 블록과 카테고리
TouchDrawView에 색 입히기
블록
카테고리
좀 더 흥미 있는 분을 위해: 메모리 관리와 블록
좀 더 흥미 있는 분을 위해: 콜백 옵션의 장단점
Chapter 25 웹 서비스와 UIWebView
웹 서비스
UIWebView
좀 더 흥미 있는 분을 위해: NSXMLParser
좀 더 흥미 있는 분을 위해: The Request Body
좀 더 흥미 있는 분을 위해: Credentials
도전 과제: 좀 더 많은 데이터
도전 과제: UIWebView 더 다루기
Chapter 26 UISplitViewController
Nerdfeed 분할하기
마스터-디테일 커뮤니케이션
세로 모드에서 마스터 뷰 컨트롤러 보여주기
Nerdfeed 앱을 유니버설하게 만들기
Chapter 27 미디어 재생과 백그라운드 실행
미디어플레이어 앱 만들기
시스템 사운드
시스템 사운드 등록하기
시스템 사운드 재생하기
압축된 오디오 파일
무비 파일 재생하기
백그라운드 프로세스
로우-레벨 API
도전 과제: 오디오 레코딩
Chapter 28 봉쥬르와 웹 서버
봉쥬르
HTTP 통신
좀 더 흥미 있는 분을 위해: TXTRecords
Chapter 29 푸시 노티피케이션과 네트워킹
푸시 노티피케이션을 위해 클라이언트 준비시키기
푸시 노티피케이션 전달하기
푸시 노티피케이션 보내기
클라이언트에서의 추가적 노티피케이션 처리
프로덕션 서버 및 향후의 할 일
좀 더 흥미 있는 분을 위해: 피드백 서비스
Chapter 30 후기
다음으로 할 일
자화자찬
Xcode 프로젝트 만들기
인터페이스 만들기
모델-뷰-컨트롤러
선언
커넥션 만들기
메소드 구현하기 43
빌드하고 시뮬레이터에서 실행하기
앱 배포하기
앱 아이콘
런치 이미지
Chapter 02 오브젝티브-C
객체
인스턴스 사용하기
RandomPossessions 툴 작성하기
오브젝티브-C 클래스의 하위 클래스 만들기
예외와 콘솔 윈도우
고속 열거형
도전 과제
Chapter 03 메모리 관리
메모리 관리의 기본
레퍼런스 카운팅
좀 더 흥미 있는 분을 위해: 더 심화된 메모리 관리
Chapter 04 델리게이션과 코어 로케이션
프로젝트, 타깃, 프레임워크
코어 로케이션
델리게이션
디버거 사용하기
도전 과제: 헤딩
좀 더 흥미 있는 분을 위해: 빌드 페이스, 컴파일러 에러, 링커 에러
Chapter 05 맵킷과 텍스트 입력
객체 다이어그램
맵킷 프레임워크
인터페이스 프로퍼티
MapView 델리게이트 되기
도전 과제: 어노테이션 확장
도전 과제: 역지오코딩(Reverse Geocoding)
Chapter 06 UIView 하위 클래스 만들기
커스텀 뷰 만들기
텍스트와 그림자 그리기
UIScrollView 사용하기
확대하기
상태 바 가리기
도전 과제: 색깔
좀 더 흥미 있는 분을 위해: 리테인 사이클
좀 더 흥미 있는 분을 위해: 뷰 다시 그리기
Chapter 07 뷰 컨트롤
뷰 컨트롤러와 XIB 파일
뷰 컨트롤러 사용하기
나타났다 사라지는 뷰
뷰 컨트롤러 수명 주기와 로우-메모리 경고
뷰 컨트롤러의 하위 클래스와 템플릿
도전 과제: 맵 탭
Chapter 08 가속센서
가속센서 설정하기
가속센서 데이터 구하기
가속도의 위치와 크기
가속센서 데이터 사용하기
가속센서 데이터 다듬기
흔들기 제스처 감지하기
도전 과제: 색 바꾸기
좀 더 흥미 있는 분을 위해: 필터링과 주파수
좀 더 흥미 있는 분을 위해: 레티나 디스플레이
Chapter 09 노티피케이션과 회전
노티피케이션 센터
UIDevice 노티피케이션
자동회전
가로 모드 강제설정하기
도전 과제: 근접 노티피케이션
좀 더 흥미 있는 분을 위해: 자동회전을 오버라이드하기
Chapter 10 UITableView와 UITableViewController
Homepwner 앱 시작하기
UITableViewController
UITableView의 데이터 소스
UITableViewCells
코드 스니펫 라이브러리
도전 과제: 섹션
Chapter 11 UITableView 편집하기
편집 모드
행 추가하기
행 삭제하기
행 이동하기
Chapter 12 UINavigationController
UINavigationController
추가적인 UIViewController
UINavigationController로 내비게이트하기
도전 과제: 숫자 패드
Chapter 13 카메라
이미지 보여주기와 UIImageView
도전 과제: 이미지 삭제하기
좀 더 흥미 있는 분을 위해: 비디오 녹화하기
Chapter 14 UIPopoverController와 모달 뷰 컨트롤러
Homepwner 유니버설로 만들기
UIPopoverController
모달 뷰 컨트롤러
Chapter 15 저장, 읽기, 멀티태스킹
앱 샌드박스
파일 경로 구성하기
아카이빙
앱 상태, 변환, 멀티태스킹
NSData를 파일시스템에 쓰기
로우-메모리 경고에 대해
모델-뷰-컨트롤러-스토어 디자인 패턴
도전 과제: Whereami 아카이브하기
좀 더 흥미 있는 분을 위해: 앱 상태 변환
좀 더 흥미 있는 분을 위해: 파일시스템에 읽고 쓰기
좀 더 흥미 있는 분을 위해: 앱 번들
Chapter 16 UITableViewCell의 하위 클래스 만들기
HomepwnerItemCell 생성하기
이미지 조작
도전 과제: 액세서리 인디케이터
도전 과제: 메인 이미지 줄이기
Chapter 17 코어 데이터
객체-관계 매핑
Homepwner를 코어 데이터로 이동하기
SQL에 대해 좀 더 알아보기
영구적 메커니즘의 장단점
도전 과제: 새로운 Asset 타입
도전 과제: 아이패드에서의 Asset
Chapter 18 현지화
NSLocale을 이용해 현지화하기
리소스 현지화하기
NSLocalizedString과 문자열 테이블
도전 과제: 또 다른 현지화
좀 더 흥미 있는 분을 위해: 국제화에서 NSBundle의 역할
Chapter 19 설정
Whereami 갱신하기
NSUserDefaults
좀 더 흥미 있는 분을 위해: 설정 앱
Chapter 20 터치 이벤트와 UIResponder
터치 이벤트
TouchTracker 앱 만들기
터치를 라인으로 바꾸기
응답자 체인
도전 과제: 저장하기와 로딩하기
도전 과제: 원
좀 더 흥미 있는 분을 위해: UIControl
Chapter 21 인스트루먼트
정적 분석기
인스트루먼트
Xcode 스킴
빌드 세팅
Chapter 22 코어 애니메이션 레이어
레이어와 뷰
CALayer 생성하기
레이어 컨텐트
암시적 애니메이션이 가능한 프로퍼티
좀 더 흥미 있는 분을 위해: 프로그램 코드로 컨텐트 만들어내기
좀 더 흥미 있는 분을 위해: 레이어, 비트맵, 컨텍스트
도전 과제: 동적 레이어 컨텐트
Chapter 23 CAAnimation으로 애니메이션 제어하기
애니메이션 객체
CABasicAnimation으로 회전하기
CAKeyframeAnimation으로 바운스하기
도전 과제: 추가 애니메이션
좀 더 흥미 있는 분을 위해: 프레젠테이션 레이어와 모델 레이어
Chapter 24 블록과 카테고리
TouchDrawView에 색 입히기
블록
카테고리
좀 더 흥미 있는 분을 위해: 메모리 관리와 블록
좀 더 흥미 있는 분을 위해: 콜백 옵션의 장단점
Chapter 25 웹 서비스와 UIWebView
웹 서비스
UIWebView
좀 더 흥미 있는 분을 위해: NSXMLParser
좀 더 흥미 있는 분을 위해: The Request Body
좀 더 흥미 있는 분을 위해: Credentials
도전 과제: 좀 더 많은 데이터
도전 과제: UIWebView 더 다루기
Chapter 26 UISplitViewController
Nerdfeed 분할하기
마스터-디테일 커뮤니케이션
세로 모드에서 마스터 뷰 컨트롤러 보여주기
Nerdfeed 앱을 유니버설하게 만들기
Chapter 27 미디어 재생과 백그라운드 실행
미디어플레이어 앱 만들기
시스템 사운드
시스템 사운드 등록하기
시스템 사운드 재생하기
압축된 오디오 파일
무비 파일 재생하기
백그라운드 프로세스
로우-레벨 API
도전 과제: 오디오 레코딩
Chapter 28 봉쥬르와 웹 서버
봉쥬르
HTTP 통신
좀 더 흥미 있는 분을 위해: TXTRecords
Chapter 29 푸시 노티피케이션과 네트워킹
푸시 노티피케이션을 위해 클라이언트 준비시키기
푸시 노티피케이션 전달하기
푸시 노티피케이션 보내기
클라이언트에서의 추가적 노티피케이션 처리
프로덕션 서버 및 향후의 할 일
좀 더 흥미 있는 분을 위해: 피드백 서비스
Chapter 30 후기
다음으로 할 일
자화자찬