The Core iOS 6 Developer's Cookbook (Fourth Edition) 한국어판
- 원서명The Core iOS 6 Developer's Cookbook (Fourth Edition) (ISBN 9780321884213)
- 지은이에리카 세든
- 옮긴이동준상, 송용근
- ISBN : 9788960774353
- 40,000원
- 2013년 05월 30일 펴냄 (절판)
- 페이퍼백 | 688쪽 | 188*250mm
- 시리즈 : 모바일 프로그래밍
판매처
- 현재 이 도서는 구매할 수 없습니다.
책 소개
iOS 개발서 분야의 대표적인 작가이자 개발자로 명성 높은 에리카 세든의 신작으로, 웹 개발이나 플랫폼 개발 경험이 있는 사람이라면 누구나 쉽게 활용할 수 있는 예제 코드 중심으로 구성됐으며, 깃허브(GitHub)를 통해 완성된 프로젝트 형식의 예제 코드를 제공한다. 이 책의 상당 부분은 제스처와 터치 처리, 컨트롤 등 다양한 상호작용 요소, 사용자 알림, 사용성을 높여주는 뷰 전환과 애니메이션, 텍스트 입력과 iOS 6에 처음 도입된 오토레이아웃 기법인 콘스트레인트 방식과 정적인 레이아웃을 대체할 신개념의 컬렉션 뷰를 실무 프로젝트에 어떻게 적용할 것인지 설명한다. 또한 앱 개발에서 필수적이라 할 수 있는 코어 데이터의 개요와 앱과 웹을 연결하기 위한 다양한 네트워킹 기법도 이해하기 쉽게 설명한다. 이 책은 iOS 6만의 차별화된 기능을 신속하게 파악하려는 로직 개발자, iOS의 상호작용을 구현하려는 UI 개발자, 그리고 iOS 인터페이스 구성과 작동 원리, 구현 철학을 이해하려는 GUI 디자이너와 기획자를 위한 훌륭한 참고서이자 라이브러리다.
[ 이 책에서 다루는 내용 ]
■ 멀티터치와 제스처를 통한 직접적인 사용자 입력 처리와 커스텀 제스처 인식자
■ iOS 6 컨트롤 요소의 생성, 수정과 활용 방법
■ 팝업 대화 창, 프로그레스 바, 로컬 노티피케이션, 팝오버, 오디오 알림 등의 사용자 알림 기법
■ 뷰와 애니메이션의 조합, 뷰 계층 관리, 여러 개의 뷰 활용법
■ 다양한 화면 크기에 대응하기 위해 iOS 6에서 처음 소개된 오토레이아웃 콘스트레인트 시스템
■ 키보드 관리, 텍스트 인식을 위한 화면 요소 생성, 텍스트 읽기와 텍스트 형식 지정
■ 사용자와의 상호작용을 위한 뷰 컨트롤러 활용
■ 사진, 비디오, 이메일, 텍스트 메시지, 그리고 iOS 6에서 더욱 강화된 소셜 미디어 기능 활용
■ 좀더 많은 사용자를 배려한 보이스오버 접근성 구현 전략
■ 테이블을 이용한 앱의 콘텐츠 관리와 iOS 6에 처음 도입된 컬렉션 뷰 활용 기법
■ 코어 데이터를 이용한 데이터 저장과 관리에 대한 개요
■ iOS 6의 강력한 네트워킹과 웹 서비스 지원 기능 활용
[ 이 책의 구성 ]
이 책은 iOS 개발자가 가장 필요로 하는 인터페이스 요소의 배치, 사용자 제스처에 대한 반응, 로컬 데이터 소스에 대한 접근, 웹 기반 네트워킹 등에 관한 예제를 제공한다. 각 장은 연관된 주제별로 그룹화한 것이며, 여러분의 문제를 좀더 신속하게 해결하기 위한 주제로 바로 넘어갈 수 있게 구성했다.
『The Core iOS 6 Developer's Cookbook (Fourth Edition) 한국어판』의 예제는 여러분의 애플리케이션에 ‘복사해서 붙여 넣기’가 가능한 코드로 만들었으며, 예제 코드를 약간 수정해서 각기 다른 용도에 재활용할 수 있게 구성했다.
이 책의 장별 주요 내용은 다음과 같다.
1장, ‘제스처와 터치’
iOS에서 터치는 애플리케이션과 사용자가 소통할 수 있는 가장 중요한 방법이다. 터치는 버튼 누르기나 키보드 조작만을 의미하지는 않는다. 1장에서는 직접적인 인터페이스 조작, 멀티 터치 등을 소개하고, 화면을 드래그할 수 있는 뷰를 만드는 방법과 사용자 제스처를 인식하고 지정된 신호로 처리하는 방법, 커스텀 제스처 인식자를 만드는 방법을 알아본다.
2장, ‘컨트롤의 생성과 활용’
컨트롤 생성과 활용을 위해 알아야 할 모든 내용을 소개한다. 다양한 방식으로 컨트롤을 만들고 커스터마이징하는 방법을 알아본다. 2장은 여러분의 프로그램에서 재활용할 수 있는 컨트롤에 관한 내용을 아주 쉬운 단계에서부터 어려운 단계에 이르기까지 살펴본다.
3장, ‘사용자 알림’
iOS는 팝업 대화 창과 프로그레스 바, 로컬 노티피케이션, 팝오버, 오디오 알림 등 사용자에게 정보를 전달하기 위한 다양한 방법을 제공한다. 3장에서는 이런 알림 메시지를 애플리케이션에 적용하는 방법을 포함한 깊이 있는 사용자 알림 기법을 소개한다. 알림과 관련한 클래스의 표준적인 사용법과 명시적인 콜백 없이 사용자 알림을 적용할 수 있는 해법도 제시한다.
4장, ‘뷰와 애니메이션’
UIView 클래스와 그 하위 클래스는 iOS 기기의 화면을 구성한다. 4장에서는 좌표 설정부터 이동에 이르기까지 뷰를 만드는 모든 방법을 소개한다. 뷰 객체를 불러와 수정하고, 이를 애니메이션으로 구현하는 예제를 함께 살펴본다. 뷰 계층의 생성과 검사, 계층을 구성하는 일부 요소의 추가와 삭제, 그리고 이런 내용을 모두 조합해서 활용할 수 있는 방법도 알아본다. 인터페이스에 기하 요소를 이용해서 뷰를 생성하고 배치하는 방법과 뷰 애니메이션을 통해 화면 전환을 만드는 방법도 소개한다.
5장, ‘뷰 콘스트레인트’
iOS 6 SDK에 처음으로 소개된 혁신적인 레이아웃 기법이다. 애플의 새로운 레이아웃 기법은 적용하기도 쉽고, 인터페이스의 일관성도 높여준다. 이 기법은 아이폰 4와 아이폰 5와 같이 동일한 기기군에 속하지만, 크기는 상이한 경우에 일관성 있는 화면 구성을 위해 특히 중요하다. 5장에서 소개하는 레이아웃 기법은 코드 기반의 콘스트레인트 개발 방식이다. 화면에 있는 객체 간의 관계를 설정하는 방법과 iOS 시스템의 자동 레이아웃 기법에 대해서도 알아본다. 이 모두를 조합해서 다양한 화면 크기에 대응할 수 있는 견고한 레이아웃을 만들 수 있다.
6장, ‘텍스트 입력’
키보드를 활용하는 방법, 텍스트를 인식할 수 있는 화면 요소 생성, 텍스트 스캔 기능, 텍스트 포맷 만들기 등 텍스트를 다루기 위한 다양한 방법을 소개한다. 기본적인 텍스트 필드부터 iOS의 철자 검증기가 있는 텍스트 뷰에 이르기까지 여러분의 애플리케이션에 텍스트를 적용할 때 알아야 할 모든 내용을 소개한다.
7장, ‘뷰 컨트롤러’
사용자가 소통할 수 있는 가상의 공간을 자유롭게 활용하기 위해 알아야 할 다양한 뷰 컨트롤러 클래스의 활용 방법을 알아본다. 표지 역할을 하는 뷰 컨트롤러, 스플릿 뷰 컨트롤러, 내비게이션 컨트롤러 등의 내용을 예제와 함께 살펴본다.
8장, ‘공통 컨트롤러’
iOS SDK는 일상적인 개발 현장에서 사용할 수 있는 다양한 컨트롤러를 제공한다. 8장은 그 가운데서도 포토 라이브러리에서의 이미지 선택, 사진 촬영, 비디오 촬영과 편집 등 가장 자주 사용되는 컨트롤러의 활용 기법을 소개한다. 또한 이메일과 텍스트 메시지 생성 방법과 트위터, 페이스북 등의 소셜 서비스에 포스트를 작성해서 올리는 방법도 소개한다.
9장, ‘접근성’
사용자의 범위를 좀 더 넓힐 수 있도록 애플의 보이스오버(VoiceOver)를 중심으로 한 접근성 전략에 대해 소개한다. 여러분의 애플리케이션에 접근성 라벨이나 힌트를 추가하는 방법과 추가된 접근성 기능을 시뮬레이터와 iOS 기기에서 테스트하는 방법도 함께 알아본다.
10장, ‘테이블 뷰 생성과 관리’
iOS에서 테이블은 아이폰과 같은 작은 기기에서는 물론이고 아이패드 같은 태블릿에서도 활용할 수 있게 스크롤이 가능한 상호작용 클래스를 제공한다. 테이블 뷰를 이용해 많은 양의 콘텐츠를 간단하면서도 이용하기 쉽게 제공할 수 있다. 10장에서는 테이블의 작동 방식과 개발자로서 사용 가능한 테이블의 종류, 그리고 애플리케이션에서 어떤 방식으로 테이블의 기능을 최대한 활용할 수 있는지에 대해 알아본다.
11장, ‘컬렉션 뷰’
컬렉션 뷰는 테이블과 비슷한 기능을 제공하지만, 테이블에 비해 좀 더 강력한 성능과 유연성을 제공한다. 11장에서는 측면에서 스크롤되는 목록, 그리드 레이아웃, 서클 형태의 레이아웃 등 컬렉션 뷰의 기초부터 활용에 이르는 내용을 소개한다. 컬렉션 뷰 레이아웃 선언을 통해 다양한 시각 효과를 통합하는 방법과 스크롤 동작 후 일정 위치에서 뷰가 멈추게 하는 방법, 그리고 컬렉션 뷰에 내장된 애니메이션 기능을 통해 가장 효과적인 상호작용 방식에 대해 알아본다.
12장, ‘코어 데이터 입문’
코어 데이터는 애플리케이션에서 검색과 갱신할 수 있는 데이터 관리 기법을 제공한다. 코어 데이터는 SQL 쿼리 형식의 관계형 데이터 관리 기법을 코코아 터치 기반의 객체 인터페이스로 만든 것이다. 코어 데이터를 통해 iOS 개발자는 오브젝티브C 언어로 관계형 데이터 관리 기법을 사용할 수 있다. 12장에서는 이 책 이후, 코어 데이터에 관해 좀 더 깊이 있는 내용을 살펴보려는 개발자를 위해 관련 기술의 개요를 소개한다. 관계형 데이터베이스 구성 기법과 코드를 이용한 데이터 저장, 삭제, 호출 기법 등을 소개하고, 호출된 데이터를 UIKit 테이블이나 컬렉션 뷰와 일체화하는 방법을 살펴본다.
13장, ‘네트워킹의 기초’
iOS 기기는 기본적으로 인터넷에 연결돼 있으므로 웹 기반 서비스의 활용 도구로서 특히 유용하다. 애플은 iOS 플랫폼에 모든 종류의 네트워크 컴퓨팅 서비스와 네트워크 지원 기술을 결합해뒀다. 13장은 네트워크 컴퓨팅에 대한 기본 개념을 정리하고 개발 현장에서 자주 사용하는 네트워크 관련 예제를 소개한다. 네트워크의 도달 성능, 동기-비동기식 다운로드 기술, 오퍼레이션 큐의 활용, 본인 인증을 위한 아이폰 암호 키체인의 활용, XML 파싱, JSON 직렬화 등의 방법을 알아본다.
부록, ‘오브젝티브C 구문’
부록에서는 오브젝티브C에 새롭게 추가된 숫자, 배열, 딕셔너리 구조체를 소개한다.
[ 출판사 서평 ]
『The Core iOS 6 Developer's Cookbook (Fourth Edition) 한국어판』은 iOS 6 애플리케이션 개발을 위한 신뢰할 수 있고 검증된 해결책을 제시한다. 세계적인 iOS 프로그래밍 전문가로 명성 높은 에리카 세든은 이 책에서 표준 API와 인터페이스 요소를 활용해서 성공적인 iOS 6 애플리케이션을 만들 수 있는 모든 기법과 iOS 6의 그래픽, 터치 인식, 뷰를 활용하는 방법을 소개한다.
이 책은 에리카 세든의 전작과 마찬가지로, 오늘날 가장 주목받는 개발 주제를 언제 어디서나 활용 가능한 코드로 바꿔 제공하며, 개발자 커뮤니티의 최신 개발 컨셉을 이해하기 쉬우면서도 프로젝트에 바로 적용할 수 있는 간략한 예제 형식으로 담았다. 하지만 단순히 복사해서 붙이기 식의 코드는 아니며, 효과적인 iOS 6 개발을 위한 방법과 구현 이유를 조목조목 설명한다.
모든 코드는 최신 iOS 6가 탑재된 아이폰, 아이패드, 아이팟 터치를 기준으로 완전히 새롭게 작성됐고, 테스트까지 마쳤다. 책 전반에 걸쳐 주제별로 분류돼 있으므로 클래스와 프레임워크에 대한 고민 없이 바로 알고자 하는 장으로 넘어갈 수 있다.
[ 이 책에서 다루는 내용 ]
■ 멀티터치와 제스처를 통한 직접적인 사용자 입력 처리와 커스텀 제스처 인식자
■ iOS 6 컨트롤 요소의 생성, 수정과 활용 방법
■ 팝업 대화 창, 프로그레스 바, 로컬 노티피케이션, 팝오버, 오디오 알림 등의 사용자 알림 기법
■ 뷰와 애니메이션의 조합, 뷰 계층 관리, 여러 개의 뷰 활용법
■ 다양한 화면 크기에 대응하기 위해 iOS 6에서 처음 소개된 오토레이아웃 콘스트레인트 시스템
■ 키보드 관리, 텍스트 인식을 위한 화면 요소 생성, 텍스트 읽기와 텍스트 형식 지정
■ 사용자와의 상호작용을 위한 뷰 컨트롤러 활용
■ 사진, 비디오, 이메일, 텍스트 메시지, 그리고 iOS 6에서 더욱 강화된 소셜 미디어 기능 활용
■ 좀더 많은 사용자를 배려한 보이스오버 접근성 구현 전략
■ 테이블을 이용한 앱의 콘텐츠 관리와 iOS 6에 처음 도입된 컬렉션 뷰 활용 기법
■ 코어 데이터를 이용한 데이터 저장과 관리에 대한 개요
■ iOS 6의 강력한 네트워킹과 웹 서비스 지원 기능 활용
[ 이 책의 구성 ]
이 책은 iOS 개발자가 가장 필요로 하는 인터페이스 요소의 배치, 사용자 제스처에 대한 반응, 로컬 데이터 소스에 대한 접근, 웹 기반 네트워킹 등에 관한 예제를 제공한다. 각 장은 연관된 주제별로 그룹화한 것이며, 여러분의 문제를 좀더 신속하게 해결하기 위한 주제로 바로 넘어갈 수 있게 구성했다.
『The Core iOS 6 Developer's Cookbook (Fourth Edition) 한국어판』의 예제는 여러분의 애플리케이션에 ‘복사해서 붙여 넣기’가 가능한 코드로 만들었으며, 예제 코드를 약간 수정해서 각기 다른 용도에 재활용할 수 있게 구성했다.
이 책의 장별 주요 내용은 다음과 같다.
1장, ‘제스처와 터치’
iOS에서 터치는 애플리케이션과 사용자가 소통할 수 있는 가장 중요한 방법이다. 터치는 버튼 누르기나 키보드 조작만을 의미하지는 않는다. 1장에서는 직접적인 인터페이스 조작, 멀티 터치 등을 소개하고, 화면을 드래그할 수 있는 뷰를 만드는 방법과 사용자 제스처를 인식하고 지정된 신호로 처리하는 방법, 커스텀 제스처 인식자를 만드는 방법을 알아본다.
2장, ‘컨트롤의 생성과 활용’
컨트롤 생성과 활용을 위해 알아야 할 모든 내용을 소개한다. 다양한 방식으로 컨트롤을 만들고 커스터마이징하는 방법을 알아본다. 2장은 여러분의 프로그램에서 재활용할 수 있는 컨트롤에 관한 내용을 아주 쉬운 단계에서부터 어려운 단계에 이르기까지 살펴본다.
3장, ‘사용자 알림’
iOS는 팝업 대화 창과 프로그레스 바, 로컬 노티피케이션, 팝오버, 오디오 알림 등 사용자에게 정보를 전달하기 위한 다양한 방법을 제공한다. 3장에서는 이런 알림 메시지를 애플리케이션에 적용하는 방법을 포함한 깊이 있는 사용자 알림 기법을 소개한다. 알림과 관련한 클래스의 표준적인 사용법과 명시적인 콜백 없이 사용자 알림을 적용할 수 있는 해법도 제시한다.
4장, ‘뷰와 애니메이션’
UIView 클래스와 그 하위 클래스는 iOS 기기의 화면을 구성한다. 4장에서는 좌표 설정부터 이동에 이르기까지 뷰를 만드는 모든 방법을 소개한다. 뷰 객체를 불러와 수정하고, 이를 애니메이션으로 구현하는 예제를 함께 살펴본다. 뷰 계층의 생성과 검사, 계층을 구성하는 일부 요소의 추가와 삭제, 그리고 이런 내용을 모두 조합해서 활용할 수 있는 방법도 알아본다. 인터페이스에 기하 요소를 이용해서 뷰를 생성하고 배치하는 방법과 뷰 애니메이션을 통해 화면 전환을 만드는 방법도 소개한다.
5장, ‘뷰 콘스트레인트’
iOS 6 SDK에 처음으로 소개된 혁신적인 레이아웃 기법이다. 애플의 새로운 레이아웃 기법은 적용하기도 쉽고, 인터페이스의 일관성도 높여준다. 이 기법은 아이폰 4와 아이폰 5와 같이 동일한 기기군에 속하지만, 크기는 상이한 경우에 일관성 있는 화면 구성을 위해 특히 중요하다. 5장에서 소개하는 레이아웃 기법은 코드 기반의 콘스트레인트 개발 방식이다. 화면에 있는 객체 간의 관계를 설정하는 방법과 iOS 시스템의 자동 레이아웃 기법에 대해서도 알아본다. 이 모두를 조합해서 다양한 화면 크기에 대응할 수 있는 견고한 레이아웃을 만들 수 있다.
6장, ‘텍스트 입력’
키보드를 활용하는 방법, 텍스트를 인식할 수 있는 화면 요소 생성, 텍스트 스캔 기능, 텍스트 포맷 만들기 등 텍스트를 다루기 위한 다양한 방법을 소개한다. 기본적인 텍스트 필드부터 iOS의 철자 검증기가 있는 텍스트 뷰에 이르기까지 여러분의 애플리케이션에 텍스트를 적용할 때 알아야 할 모든 내용을 소개한다.
7장, ‘뷰 컨트롤러’
사용자가 소통할 수 있는 가상의 공간을 자유롭게 활용하기 위해 알아야 할 다양한 뷰 컨트롤러 클래스의 활용 방법을 알아본다. 표지 역할을 하는 뷰 컨트롤러, 스플릿 뷰 컨트롤러, 내비게이션 컨트롤러 등의 내용을 예제와 함께 살펴본다.
8장, ‘공통 컨트롤러’
iOS SDK는 일상적인 개발 현장에서 사용할 수 있는 다양한 컨트롤러를 제공한다. 8장은 그 가운데서도 포토 라이브러리에서의 이미지 선택, 사진 촬영, 비디오 촬영과 편집 등 가장 자주 사용되는 컨트롤러의 활용 기법을 소개한다. 또한 이메일과 텍스트 메시지 생성 방법과 트위터, 페이스북 등의 소셜 서비스에 포스트를 작성해서 올리는 방법도 소개한다.
9장, ‘접근성’
사용자의 범위를 좀 더 넓힐 수 있도록 애플의 보이스오버(VoiceOver)를 중심으로 한 접근성 전략에 대해 소개한다. 여러분의 애플리케이션에 접근성 라벨이나 힌트를 추가하는 방법과 추가된 접근성 기능을 시뮬레이터와 iOS 기기에서 테스트하는 방법도 함께 알아본다.
10장, ‘테이블 뷰 생성과 관리’
iOS에서 테이블은 아이폰과 같은 작은 기기에서는 물론이고 아이패드 같은 태블릿에서도 활용할 수 있게 스크롤이 가능한 상호작용 클래스를 제공한다. 테이블 뷰를 이용해 많은 양의 콘텐츠를 간단하면서도 이용하기 쉽게 제공할 수 있다. 10장에서는 테이블의 작동 방식과 개발자로서 사용 가능한 테이블의 종류, 그리고 애플리케이션에서 어떤 방식으로 테이블의 기능을 최대한 활용할 수 있는지에 대해 알아본다.
11장, ‘컬렉션 뷰’
컬렉션 뷰는 테이블과 비슷한 기능을 제공하지만, 테이블에 비해 좀 더 강력한 성능과 유연성을 제공한다. 11장에서는 측면에서 스크롤되는 목록, 그리드 레이아웃, 서클 형태의 레이아웃 등 컬렉션 뷰의 기초부터 활용에 이르는 내용을 소개한다. 컬렉션 뷰 레이아웃 선언을 통해 다양한 시각 효과를 통합하는 방법과 스크롤 동작 후 일정 위치에서 뷰가 멈추게 하는 방법, 그리고 컬렉션 뷰에 내장된 애니메이션 기능을 통해 가장 효과적인 상호작용 방식에 대해 알아본다.
12장, ‘코어 데이터 입문’
코어 데이터는 애플리케이션에서 검색과 갱신할 수 있는 데이터 관리 기법을 제공한다. 코어 데이터는 SQL 쿼리 형식의 관계형 데이터 관리 기법을 코코아 터치 기반의 객체 인터페이스로 만든 것이다. 코어 데이터를 통해 iOS 개발자는 오브젝티브C 언어로 관계형 데이터 관리 기법을 사용할 수 있다. 12장에서는 이 책 이후, 코어 데이터에 관해 좀 더 깊이 있는 내용을 살펴보려는 개발자를 위해 관련 기술의 개요를 소개한다. 관계형 데이터베이스 구성 기법과 코드를 이용한 데이터 저장, 삭제, 호출 기법 등을 소개하고, 호출된 데이터를 UIKit 테이블이나 컬렉션 뷰와 일체화하는 방법을 살펴본다.
13장, ‘네트워킹의 기초’
iOS 기기는 기본적으로 인터넷에 연결돼 있으므로 웹 기반 서비스의 활용 도구로서 특히 유용하다. 애플은 iOS 플랫폼에 모든 종류의 네트워크 컴퓨팅 서비스와 네트워크 지원 기술을 결합해뒀다. 13장은 네트워크 컴퓨팅에 대한 기본 개념을 정리하고 개발 현장에서 자주 사용하는 네트워크 관련 예제를 소개한다. 네트워크의 도달 성능, 동기-비동기식 다운로드 기술, 오퍼레이션 큐의 활용, 본인 인증을 위한 아이폰 암호 키체인의 활용, XML 파싱, JSON 직렬화 등의 방법을 알아본다.
부록, ‘오브젝티브C 구문’
부록에서는 오브젝티브C에 새롭게 추가된 숫자, 배열, 딕셔너리 구조체를 소개한다.
[ 출판사 서평 ]
『The Core iOS 6 Developer's Cookbook (Fourth Edition) 한국어판』은 iOS 6 애플리케이션 개발을 위한 신뢰할 수 있고 검증된 해결책을 제시한다. 세계적인 iOS 프로그래밍 전문가로 명성 높은 에리카 세든은 이 책에서 표준 API와 인터페이스 요소를 활용해서 성공적인 iOS 6 애플리케이션을 만들 수 있는 모든 기법과 iOS 6의 그래픽, 터치 인식, 뷰를 활용하는 방법을 소개한다.
이 책은 에리카 세든의 전작과 마찬가지로, 오늘날 가장 주목받는 개발 주제를 언제 어디서나 활용 가능한 코드로 바꿔 제공하며, 개발자 커뮤니티의 최신 개발 컨셉을 이해하기 쉬우면서도 프로젝트에 바로 적용할 수 있는 간략한 예제 형식으로 담았다. 하지만 단순히 복사해서 붙이기 식의 코드는 아니며, 효과적인 iOS 6 개발을 위한 방법과 구현 이유를 조목조목 설명한다.
모든 코드는 최신 iOS 6가 탑재된 아이폰, 아이패드, 아이팟 터치를 기준으로 완전히 새롭게 작성됐고, 테스트까지 마쳤다. 책 전반에 걸쳐 주제별로 분류돼 있으므로 클래스와 프레임워크에 대한 고민 없이 바로 알고자 하는 장으로 넘어갈 수 있다.
목차
목차
- 01장 제스처와 터치
- 터치
- 터치 처리 단계
- 터치 이벤트와 리스폰더 메소드
- 뷰 터치하기
- 멀티 터치
- 제스처 인식자
- 예제: 간단한 터치 입력 인터페이스 추가
- 예제: 팬 제스처 인식자 추가하기
- 예제: 동시에 여러 개의 제스처 인식자 클래스 사용
- 제스처 간의 충돌에 대한 해법
- 예제: 이동 가능 영역의 제한
- 예제: 터치 인식 테스트
- 예제: 비트맵 이미지의 터치 감지 테스트
- 예제: 터치 동작으로 뷰에 그림 그리기
- 예제: 뷰에 그려진 경로를 부드럽게 만들기
- 예제: 멀티 터치 상호작용의 활용
- 예제: 원형 그림의 감지
- 예제: 커스텀 제스처 인식 클래스 만들기
- 예제: 스크롤 뷰에서 드래그하기
- 예제: 터치에 대한 실시간 피드백
- 터치 피드백 기능 활성화
- 터치 이벤트의 인터셉팅과 포워딩
- TOUCHkit 오버레이 뷰의 구현
- 예제: 뷰에 메뉴 추가
- 정리
- 터치
- 02장 컨트롤의 생성과 사용
- UIControl 클래스
- 타겟 액션
- 컨트롤의 종류
- 컨트롤 이벤트
- 버튼
- 인터페이스 빌더에서 버튼 생성
- 버튼에 액션 연결
- 예제: 버튼 생성
- 여러 줄의 버튼 텍스트
- 버튼에 애니메이션 요소 추가
- 버튼에 상태 추가
- 예제: 애니메이션 버튼의 응답 구현
- 예제: 커스텀 핸들이 있는 슬라이더 생성
- UISlider 수정
- 효율성 추가
- 어피어런스 프록시
- 예제: 두 번 탭할 수 있는 세그먼티드 컨트롤 생성
- 두 번째 탭 동작에 대한 피드백
- 컨트롤 요소와 속성 값
- 스위치와 스테퍼 활용
- 예제: UIControl의 하위 클래스 생성
- 컨트롤 생성
- 터치의 추적
- 이벤트 전달
- 예제: 별의 개수로 점수를 표시하는 슬라이더 생성
- 예제: 터치 휠 생성
- 예제: 잡아당길 수 있는 리본 컨트롤 생성
- 컨트롤 요소임을 알림
- 터치 테스트
- 예제: 잠금 컨트롤 생성
- 페이지 인디케이터 컨트롤 추가
- 예제: 페이지 스크롤러 생성
- 툴바 생성
- 정리
- UIControl 클래스
- 03장 사용자 알림
- 경고를 이용한 사용자 알림
- 간단한 경고 생성
- 경고 델리게이트
- 화면에 경고 표시
- 경고의 종류
- ‘잠시 기다려주세요’: 진행 상황 보여주기
- UIActivityIndicatorView 사용
- UIProgressView 사용
- 예제: 버튼이 없는 경고 뷰
- 화면에 떠있는 작업 진행 메시지 생성
- 예제: 모달 상태의 경고 뷰 생성
- 예제: 경고 뷰에 가변 인수 사용
- 선택 목록 표시
- 스크롤되는 메뉴
- 액션 시트에서 텍스트 표시
- 예제: 커스텀 오버레이 생성
- 탭 가능한 오버레이 뷰
- 예제: 기본적인 팝오버 생성
- 예제: 로컬 노티피케이션
- 성공적인 노티피케이션 전략을 위한 제언
- 경고 뷰 인디케이터
- 애플리케이션에 배지 달기
- 예제: 간단한 오디오 경고
- 시스템 사운드
- 진동
- 경고
- 지연
- 시스템 사운드 제거
- 정리
- 경고를 이용한 사용자 알림
- 04장 뷰와 애니메이션
- 뷰의 계층 구조
- 예제: 뷰 계층 구조 확인
- XIB 형식의 뷰와 스토리보드에서 만든 뷰
- 예제: 서브뷰 검색과 호출
- 서브뷰 관리
- 서브뷰 추가
- 서브뷰의 순서 변경과 삭제
- 뷰와 관련된 콜백 메소드
- 뷰에 태그 달기와 불러오기
- 뷰를 찾는 데 태그 활용
- 예제: 연관 객체를 이용해서 뷰에 이름 붙이기
- 인터페이스 빌더에서 뷰에 이름 붙이기
- 뷰의 기하학적 구조
- 프레임
- 프레임을 위한 사각형 활용 함수
- 원점 좌표와 크기
- 변환
- 뷰의 좌표 체계
- 예제: 뷰 프레임 활용
- 뷰의 크기 조절
- CGRect 구조와 중심점
- 기타 기하 요소
- 예제: 뷰의 변형 정보 가져오기
- 변형 속성 정보 가져오기
- 뷰 교차 여부 확인
- 화면 표시와 상호작용 속성
- UIView 애니메이션
- 블록을 이용한 애니메이션 구현
- 예제: 투명도를 이용한 뷰 애니메이션
- 예제: 뷰 교환 애니메이션
- 예제: 다양한 뷰 전환 효과
- 예제: 코어 애니메이션을 이용한 전환 효과
- 예제: 뷰에 바운스 효과 적용
- 예제: 이미지 뷰 애니메이션
- 정리
- 05장 뷰 콘스트레인트
- 뷰 콘스트레인트의 개요
- 정렬 사각형
- 정렬 사각형의 선언
- 콘스트레인트의 속성과 관계
- 콘스트레인트 연산
- 콘스트레인트 법칙
- 콘스트레인트 선언
- 기본적인 콘스트레인트 선언
- 비주얼 형식 콘스트레인트
- 변수 바인딩
- 형식 문자열
- 방향
- 뷰 이름
- 연결 기호
- 술어
- 메트릭
- 뷰와 뷰를 연결하는 술어
- 우선순위
- 형식 문자열 정리
- 콘스트레인트의 저장과 갱신
- 예제: 콘스트레인트 비교
- 예제: 콘스트레인트 설명
- 예제: 고정 크기 콘스트레인트 뷰 생성
- 자동 크기 조절 콘스트레인트 기능 끄기
- 뷰를 경계선 내에 배치
- 크기 설정을 위한 콘스트레인트
- 예제: 뷰의 중앙 정렬
- 예제: 화면 비례 설정
- 뷰 정렬과 유동적인 크기 설정
- 직접 뷰를 정렬할 수 없는 경우
- 예제: 회전에 대한 반응
- 콘스트레인트 매크로
- 일관된 콘스트레인트
- 충분한 콘스트레인트
- 매크로
- 콘스트레인트 디버깅
- 정리
- 06장 텍스트 입력
- 예제: UITextField 키보드 숨기기
- 키보드 숨김 방지
- 텍스트 트레이트 프로퍼티
- 기타 텍스트 입력 창 프로퍼티
- 예제: 커스텀 액세서리 뷰를 사용한 텍스트 뷰 숨기기
- 예제: 키보드에 맞춰 뷰 조정
- 예제: 액세서리 뷰에 뷰 맞추기
- 하드웨어 키보드 테스트
- 예제: 커스텀 입력 뷰 생성
- 예제: 텍스트 입력 주의 뷰 생성
- 예제: 비텍스트 뷰에 커스텀 입력 뷰 추가
- 입력 효과음 추가
- 예제: 발전형 텍스트 에디터 만들기(1)
- 예제: 발전형 텍스트 에디터 만들기(2)
- 속성 텍스트 기능 활성화
- 속성 처리
- 기타 리스폰더 기능
- 예제: 텍스트 입력 필터링
- 예제: 텍스트 패턴 인식
- 자신의 표현식 운용
- 반복적 정규표현식
- 데이터 감지자
- 자체 형식 감지자
- 유용한 웹사이트
- 예제: UITextView에서 맞춤법 검사
- 텍스트 문자열 검색
- 정리
- 예제: UITextField 키보드 숨기기
- 07장 뷰 컨트롤러
- 뷰 컨트롤러
- UIViewController 클래스
- 내비게이션 컨트롤러
- 탭 바 컨트롤러
- 스플릿 뷰 컨트롤러
- 페이지 뷰 컨트롤러
- 팝오버 컨트롤러
- 내비게이션 컨트롤러와 스플릿 뷰로 개발
- 내비게이션 컨트롤러와 스택
- 뷰 컨트롤러의 추가와 꺼내기
- 바 버튼
- 예제: 내비게이션 아이템 클래스
- 제목, 뒤로 가기 버튼
- 매크로
- 예제: 모달 형식
- 커스텀 모달 정보 보기 표시
- 예제: 스플릿 뷰 컨트롤러 생성
- 예제: 유니버설 스플릿 뷰/내비게이션 앱 작성
- 예제: 탭 바
- 탭 상태 기억
- 예제: 페이지 뷰 컨트롤러
- Book 프로퍼티
- 구현 래핑
- 예제 찾아보기
- 페이지 번호 만들기
- 예제: 페이지 뷰 컨트롤러 슬라이더로 페이지 넘김
- 예제: 커스텀 컨테이너
- 자식 뷰 컨트롤러의 추가와 삭제
- 뷰 컨트롤러 사이의 전환
- 예제: 세구에
- 세구에, 인터페이스 빌더와 iOS 6
- 정리
- 뷰 컨트롤러
- 08장 공통 컨트롤러
- 이미지 선택 컨트롤러
- 이미지 소스
- 아이폰과 아이패드의 피커 표시
- 예제: 이미지 선택
- 방법론: 시뮬레이터에 사진 추가
- 애셋 라이브러리 프레임워크
- 피커 표시
- 델리게이트 콜백 처리
- 예제: 사진 촬영
- 피커 설정
- 이미지 표시
- 앨범에 이미지 저장
- 예제: 영상 녹화
- 영상 녹화 피커 생성
- 영상 저장
- 예제: 미디어 플레이어로 영상 재생
- 예제: 영상 편집
- AVFoundation과 코어 미디어
- 예제: 영상 편집과 선택
- 예제: 사진 이메일 전송
- 내용 작성
- 예제: 문자 메시지 전송
- 예제: 소셜 네트워크 상태 업데이트
- 예제: 액티비티 뷰 컨트롤러
- 액티비티 컨트롤러의 생성과 표시
- 서비스 추가
- 아이템과 서비스
- 예제: Quick Look 미리보기 컨트롤러
- 미리보기 구현하기
- 정리
- 이미지 선택 컨트롤러
- 09장 접근성
- 접근성 101
- IB에서의 접근성
- 접근성 기능 활성화
- 트레이트
- 라벨
- 힌트
- 시뮬레이터 테스트
- 업데이트 고지
- 아이폰의 접근성 기능 테스트
- 정리
- 접근성 101
- 10장 테이블 뷰 생성과 관리
- iOS 테이블
- 델리게이션
- 테이블 생성
- 테이블 스타일
- 테이블 뷰의 레이아웃
- 데이터 소스 지정
- 셀 배정
- 셀 클래스 등록
- 셀 디큐
- 델리게이트 배정
- 예제: 기본 테이블 구현
- 데이터 소스 메소드
- 사용자 터치에 반응
- 테이블 뷰의 셀
- 셀 선택 색상
- 커스텀 선택 트레이트 추가
- 예제: 체크 테이블 셀 작성
- 상세보기 액세서리
- 예제: 테이블 수정
- 실행 취소 기능 추가
- 실행 취소 지원
- 삭제 컨트롤 표시
- 삭제 요청 처리
- 셀 스와이핑
- 셀 재정렬
- 셀 추가
- 예제: 섹션 처리
- 섹션 만들기
- 섹션과 행 숫자
- 셀 반환
- 헤더 제목 생성
- 헤더와 푸터 커스터마이즈
- 섹션 인덱스 생성
- 섹션 불일치 처리
- 섹션 델리게이트
- 예제: 테이블 검색
- 검색 창 컨트롤러 생성
- 검색 창 컨트롤러에 셀 등록
- 검색을 위한 데이터 소스 메소드 작성
- 델리게이트 메소드
- 검색에 반응하는 인덱스
- 예제: 테이블에 끌어서 새로 고침 기능 추가
- 예제: 액션 행 추가
- 커스텀 그룹 테이블 생성
- 그룹 환경설정 테이블 생성
- 예제: 멀티휠 테이블 생성
- UIPickerView 생성
- 데이터 소스와 델리게이트 메소드
- 피커를 담은 뷰
- UIDatePicker
- 날짜 피커 생성
- 정리
- 11장 컬렉션 뷰
- 컬렉션 뷰와 테이블
- 실제 구현의 차이
- 컬렉션 뷰 설정
- 컨트롤러
- 컬렉션 뷰
- 데이터 소스와 델리게이트
- 플로우 레이아웃
- 스크롤 방향
- 아이템의 크기와 행 간격
- 헤더와 푸터 크기 조절
- 테두리
- 예제: 기본 컬렉션 뷰 흐름
- 예제: 커스텀 셀
- 예제: 가로 스크롤 목록
- 예제: 인터랙티브 레이아웃 효과
- 예제: 스크롤 잡기
- 예제: 원형 레이아웃 생성
- 생성과 삭제 애니메이션
- 원형 레이아웃 실행
- 레이아웃
- 예제: 레이아웃에 제스처 추가
- 예제: 실제 그리드 레이아웃 생성
- 예제: 커스텀 아이템 메뉴
- 정리
- 컬렉션 뷰와 테이블
- 12장 코어 데이터 입문
- 코어 데이터
- 엔티티와 모델
- 모델 파일 작성
- 속성과 관계
- 객체 클래스 작성
- 컨텍스트 생성
- 데이터 추가
- 데이터 파일 확인
- 데이터베이스 쿼리
- 가져오기 요청 설정
- 가져오기 실행
- 객체 제거
- 예제: 테이블 데이터 소스를 위한 코어 데이터 사용
- 인덱스 경로 접근
- 섹션 키 경로
- 섹션 그룹
- 인덱스 제목
- 테이블 가독성
- 예제: 검섹 테이블과 코어 데이터
- 예제: 코어 데이터 테이블 뷰에 수정 기능 추가
- 실행 취소/다시 실행 지원
- 실행 취소 트랜잭션 생성
- 편집에 대한 재고
- 예제: 코어 데이터로 작동하는 컬렉션 뷰
- 정리
- 13장 네트워킹의 기초
- 예제: 네트워크 상태 확인
- 연결 변동 사항 스캔
- 예제: 동기식 다운로드
- 예제: 비동기식 다운로드
- 묵묵한 비동기 다운로드
- 예제: JSON 직렬화
- 예제: XML을 트리 구조로 변환
- 트리
- 해석 트리 작성
- 정리
- 부록 오브젝티브C 구문
- 숫자
- 박스 처리
- 열거형
- 컨테이너 구문
- 컨테이너 접근