시작하세요 아이폰 5 프로그래밍
도서명:시작하세요 아이폰 5 프로그래밍
저자/출판사:데이브,마크,잭,너팅,제프,라마시,김윤래,엮음,/위키북스
쪽수:864쪽
출판일:2012-05-03
ISBN:9788992939676
목차
▣ 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장 _ 이제 어디로?
애플의 문서
메일링 목록
토론 포럼
웹 사이트
블로그
컨퍼런스
저자 트위터 팔로우
작별 인사