The Core iOS Developer's Cookbook (Fifth Edition) 한국어판 [풍부한 해법이 담긴 iOS 프로그래밍 핵심 가이드]
- 원서명The Core iOS Developer's Cookbook (Fifth Edition) (ISBN 9780321948106)
- 지은이에리카 세든, 리치 워드웰
- 옮긴이송용근
- ISBN : 9788960775879
- 45,000원
- 2014년 07월 29일 펴냄 (절판)
- 페이퍼백 | 764쪽 | 188*250mm
- 시리즈 : 모바일 프로그래밍
판매처
- 현재 이 도서는 구매할 수 없습니다.
책 소개
요약
제스처와 터치, 컨트롤 등의 상호작용을 위한 화면 구성요소는 물론이고 사용자 알림, 자동 레이아웃, 텍스트, 테이블/컬렉션 컨트롤러와 iOS의 문서/데이터 공유 기능, 네트워크 기법과 코어 데이터, 장치 센서 활용 방법은 물론, 장치 미디어 라이브러리 SNS 연결 방법, 장치 센서, 모션 애니메이션 등 그야말로 iOS의 '모든 것'을 압축해 담아 놓은 책이다. 다방면의 예제 코드로 iOS의 구성 기반을 이해할 수 있고, 또 자신에게 필요한 기능을 손쉽게 따내서 쓸 수 있다. iOS만의 독특한 기능을 신속하게 이해하고 구현하려는 개발자, 인터랙션 기능이 필요한 UI 개발자, GUI 디자이너와 기획자에게 이보다 더 나은 참고서이자 코드 라이브러리는 없을 것이다.
이 책에서 다루는 내용
■ 멀티터치, 제스터, 커스텀 제스처 인식자를 조합해서 고급 직접 터치 기반 인터페이스 만들기
■ 강력한 컨트롤을 만들고 꾸미기 위한 최신기법
■ iOS의 새로운 디자인 패러다임을 반영한 인터페이스 만들기
■ iOS의 신기능 모션 효과 구현하기
■ 팝업, 프로그레스 바, 로컬 알림, 팝오버, 경고음 등의 방법으로 사용자 주목 끌기
■ 시스템 프레임워크와 헤더를 간편하게 가져올 수 있는 엑스코드(Xcode) 모듈 기능
■ 뷰와 애니메이션의 조합, 뷰 구조 조직, 여러 뷰를 연결해서 사용하는 방법 이해하기
■ iOS 자동 레이아웃 시스템을 활용해서 다양한 스크린 환경에 적응하기
■ 키보드 조작법과 GUI 구성요소를 ‘텍스트 위주’로 만들기, 효과적인 텍스트 읽기/형식화
■ 뷰 컨트롤러로 사용자 작업 공간 정리하기
■ 사진, 영상, 이메일, 메시지 관리법
■ iOS에 향상된 소셜미디어 활동 (트위터, 플리커, 비메오 등) 기능 끌어올리기.
■ 보이스 오버 접근성 기능과 iOS에서 새롭게 등장한 텍스트 말하기 기능 구현하기.
■ 코어 데이터로 데이터 관리/저장소 맛보기
■ 강력한 iOS 네트워크/웹서비스 지원 기능 끌어올리기
■ 텍스트 스타일에 대한 iOS의 새로운 API와 유연하고 신뢰성 높은 고급 기능 활용하기
■ 새로운 iOS의 문제와 버그 회피하기
이 책의 대상 독자
iOS 개발을 처음 시작하는 사람이라면 누구나 엑스코드에서 스토리보드를 열고 드래그앤드롭 방식으로 각종 UI 요소를 배치하며 개발에 대한 부담감을 덜고, 개발 방식에 대한 이해를 높이게 마련인데, 이 책은 그 다음 단계를 준비하는 개발자를 위해 씌어졌다. iOS 인터페이스의 작동 원리를 설명하고 실무 프로젝트에 어떻게 반영할지 이해할 수 있다. 사용자의 터치 처리 방식, 컨트롤 등 다양한 상호작용 요소, 사용자 알림 전략, 사용성을 높여주는 뷰 전환과 애니메이션 효과, 텍스트 입력 방식 등 경험 요소를 먼저 설명함으로써 윈도우 이면에 숨은 코드의 작동 원리를 자연스럽게 이해할 수 있도록 돕는다.
이 책의 구성
1 장 제스처와 터치: 터치는 iOS상에서 사용자가 애플리케이션을 조작하는 가장 주요한 방식입니다. 터치에는 단순한 버튼 누르기와 키보드 인터랙션보다 훨씬 다양한 조작 방식이 포함되어 있습니다. 1장에서는 사용자의 직접적인 조작 방식과 멀티 터치 등을 설명합니다. 사용자가 화면상에서 끌어 움직일 수 있는 뷰를 만들어보고, 제스처를 구분하고 해석하는 방식과 커스텀 제스처 해석기를 작성하는 방법을 알아봅니다.
2장 컨트롤: 작성과 활용 컨트롤을 한 단계 업그레이드합니다. 2장은 컨트롤이 작동하는 방식을 이해하는 데 필요한 모든 것을 설명할 것입니다. 보편적인 방법부터 아주 까다로운 방법까지, 컨트롤을 작성하고 수정하는 다양한 방식을 소개합니다.
3장 사용자 알림: iOS는 팝업 대화상자와 내부적인 알림의 프로그레스 바, 팝 오버, 효과음 재생 등 사용자의 주의를 끄는 여러 방식을 제공합니다. 3장은 각 알림 방식을 애플리케이션에서 활용하는 방법과 사용자 알림을 폭 넓게 구성하는 방법을 소개합니다. 각 알림 클래스를 활용하는 표준 방식과 더불어 블록 기분 API로 알림 인터랙션을 쉽게 관리하는 방식을 알 수 있을 것입니다.
4장 뷰와 애니메이션: UIView 클래스와 그 하위 클래스는 iOS 장치 스크린 화면을 구성하고 있습니다. 4장은 기초 수준부터 고급 기능까지 뷰에 대한 모든 것을 소개합니다. 여러 뷰 예제를 찾아보면서 뷰 오브젝트를 가져오고, 움직이며 조작하는 다양한 방법, 뷰를 작성하고, 확인하며, 뷰 구조를 쪼개는 등 뷰를 다루는 방법을 이해할 수 있을 것입니다. 인터페이스에 뷰를 생성하고 배치하는 데 필요한 수식과 뷰 애니메이션으로 뷰를 움직이거나 투명화 하는 방법을 알아봅니다.
5장 자동 레이아웃: iOS의 자동 뷰 레이아웃이 진일보했습니다. 애플 레이아웃 기능으로 인터페이스를 일관성 있게 유지할 수 있습니다. 자동 레이아웃 기능은 특히 화면 크기가 다른 유사 장치군을 대상으로 애플리케이션을 만들 때 동적인 인터페이스, 회전, 언어 변환에 중요하게 적용 가능합니다. 5장에서는 화면상의 오브젝트 간 관계를 생성하는 방법과 iOS에서 뷰를 자동으로 배치하도록 설정하는 방법을 알 수 있습니다. 결론적으로 스크린 규격에 꼭 들어맞는 구성을 만들기 위한 탄탄한 방법론을 익힐 수 있습니다.
6장 텍스트 입력: 다양한 경우를 포괄할 수 있는 텍스트 관련 예제를 소개합니다. 키보드 컨트롤 방법을 비롯해, 화면상의 구성 엘리먼트가 ‘텍스트 인식이 가능하도록’ 만드는 방법, 텍스트 스캔, 형식 설정 등의 방법을 소개합니다. 텍스트 입력창, 텍스트 뷰에서 iOS의 자체 인라인 철자 확인 기능까지 iOS 애플리케이션에서 텍스트를 다루는 거의 모든 방법을 설명합니다.
7장 뷰 컨트롤러: 사용자 인터랙션을 가상공간으로 확장, 활용할 때 필요한 다양한 뷰 컨트롤러에 대해 설명합니다. 페이지 뷰 컨트롤러 예제부터 시작해 스플릿 뷰 컨트롤러, 내비게이션 컨트롤러 등까지 알아봅니다.
8장 공통 컨트롤러: iOS SDK는 일상적인 개발 작업에 적용할 수 있는 풍부한 시스템 지원 컨트롤러를 제공합니다. 8장은 그 중에서도 가장 대표적인 공통 컨트롤러를 알아봅니다. 사진 라이브러리의 이미지 선택 컨트롤러, 사진 찍기, 영상 녹화와 편집 관련 내용을 찾아볼 수 있을 것입니다. 애플리케이션과 이메일, 문자 메시지의 작성, 전송 기능을 연계하는 방법과 트위터/페이스북과 같은 소셜 미디어 상태 업데이트를 연결하는 방법을 익혀 봅니다.
9장 테이블 뷰: 생성과 관리 테이블(표)은 비교적 작은 장치의 경우 스크롤 인터랙션 화면을 구성하는 기능으로, 좀 더 큰 태블릿에서는 인터랙션 화면 구성의 핵심으로 양쪽에서 주요한 역할을 담당합니다. 많은 iOS 앱은 간략한 자체 구성 때문에 테이블을 자주 활용합니다. 9장에서는 테이블을 소개하고, 그 작동 방식을 설명하며, 개발자가 활용할 수 있는 자체 테이블의 종류와 각자의 애플리케이션에서 테이블 기능을 활용하는 방법 등을 알아봅니다.
10장 컬렉션 뷰: 컬렉션 뷰는 테이블 뷰와 관념적으로 상당부분 비슷하지만 기능 면에서 좀 더 강력하고 유연합니다. 10장에서는 컬렉션 뷰를 시작하기에 필요한 기반 내용 전체를 한 차례 훑어봅니다. 횡스크롤 목록, 그리드 배치를 비롯해 원형 배치 등 다양한 레이아웃을 익힐 준비가 필요합니다. 또 레이아웃 설정에 시각 효과를 추가하는 방법과 스크롤에 따라 아이템의 배치를 변경하는 방법을 배우고, iOS에서 제공하는 애니메이션 기능을 통해 가장 효과적인 인터랙션을 구성하는 방법에 대해서 알 수 있을 것입니다.
11장 문서/데이터 공유: iOS 애플리케이션은 iOS의 시스템 지원 기능을 통해 정보와 데이터, 심지어 애플리케이션 컨트롤까지 다른 애플리케이션에 전달하고 공유할 수 있습니다. 11장에서는 애플리케이션 간의 문서와 데이터 공유 기능을 더하는 방법에 대해 소개합니다. 공유 기능을 애플리케이션에 추가하는 방법, 그리고 iOS 생태계를 구성하는 하나의 앱 구성원으로써 영리하게 데이터 공유에 대응하는 방법을 알아봅니다.
12장 코어 데이터 맛보기: 코어 데이터는 애플리케이션에서 요청, 업데이트 할 수 있도록 데이터를 저장하고 관리하는 기능을 제공합니다. 코어 데이터는 데이터를 코코아터치 기반 오브젝트 인터페이스로 관리하는 기능을 제공, 오브젝티브C 언어의 iOS 개발 과정에서 관계형 데이터 관리를 가능케 합니다. 12장은 코어 데이터를 소개한다. 이 책에서는 코어 데이터 기술을 맛보기에 모자람이 없을 정도의 예제 정도만을 소개합니다. 여기에서 설명한 내용은 이후 코어 데이터를 배우고자 할 때 도약할 발판이 되어 줄 것입니다. 관리 데이터베이스 저장소를 설계하는 방법, 데이터를 추가/삭제하는 방법과 코드상으로 데이터를 쿼리해서 UIKit의 테이블 뷰 또는 컬렉션 뷰에 통합해 넣는 방법 등을 알아봅니다.
13장 네트워크의 기초: 인터넷에 연결할 수 있는 장치일 경우 iOS는 웹 기반 서비스를 구독하는 데 특화된 기능을 제공합니다. 애플은 iOS 플랫폼을 거의 모든 종류의 네트워크 연산 서비스와 관련 지원 기술을 갖춘 깔끔하고 단단한 기반으로 만들었습니다. 13장은 네트워크 연산에 필요한 공통 기법과 함께 일상적인 네트워크 작업을 단순화하는 방법 등을 설명합니다. 또 iOS 7부터는 달라진 HTTP 시스템을 소개하고, 데이터를 내려받는 방법, 특히 백그라운드 작업으로 다운로드를 진행하는 방법을 알아보겠습니다. 또 네트워크 연결성을 확인하는 방법과 웹 서비스, XML 해석기능과 JSON 직렬화 기능을 통해 실제 서비스와 연결하는 기법을 사례와 함께 익힐 수 있습니다.
14장 장치 특성: iOS 장치는 각기 독창성도 있는 반면에 공통점도 있고, 일시적이거나 영속적인 특징들도 저마다 다릅니다. 각 장치의 특성을 예로 들어보자면 실제 스크린 방향 전환, 모델명, 배터리 상태, 하드웨어 장치 접근성 등이 있습니다. 14장은 장치의 빌드 설정을 확인하는 방법부터 하드웨어 센서를 활용하는 방법까지를 설명합니다. 실제 사용하는 장치의 다양한 정보를 가져와서 활용하는 예제를 찾아볼 수 있습니다.
15장 손쉬운 사용: 보이스오버(VoiceOver)와 접근성 기능에 대해 간략하게 설명합니다. 접근성 기능은 대상 사용자의 범위를 크게 넓혀줍니다. 애플리케이션의 화면 구성요소에 접근성 라벨과 힌트를 부여하는 방법, 그리고 시뮬레이터 프로그램과 실제 iOS 장치에서 접근성 기능을 테스트하는 방법에 대해서 알아보겠습니다.
부록A 오브젝티브C 구문: 새롭게 등장한 오브젝티브C 구성을 소개합니다. 특히 숫자, 배열, 딕셔너리 형식이 달라졌습니다.
목차
목차
- 1장 제스처와 터치
- 터치
- 예제: 단순 방향 조정 인터페이스
- 예제: 끌기 제스처 인식
- 예제: 병렬 제스처 인식자
- 예제: 이동 제한
- 예제: 터치 테스트
- 예제: 비트맵 영역 유효 테스트
- 예제: 터치 화면 그리기
- 예제: 그리기 곡선 보정
- 예제: 멀티터치 인터랙션
- 예제: 원 그리기 인식
- 예제: 커스텀 제스처 인식자
- 예제: 스크롤 뷰의 끌기
- 예제: 실시간 터치 피드백
- 예제: 뷰 메뉴
- 핵심 정리
- 터치
- 2장 컨트롤
- UIControl 클래스
- 버튼
- 인터페이스 빌더와 버튼
- 예제: 버튼 작성
- 예제: 버튼 반응 애니메이션
- 예제: 커스텀 슬라이더
- 예제: 두 번째 선택이 가능한 세그먼트 컨트롤
- 스위치와 스테퍼
- 예제: UIControl 상속 클래스
- 예제: 별점 슬라이더
- 예제: 터치 휠
- 예제: 당김 컨트롤
- 예제: 커스텀 잠금 컨트롤
- 예제: 이미지 갤러리
- 툴바
- 핵심 정리
- 3장 사용자 알림
- 알림 메시지
- 예제: 알림 블록
- 예제: 배리어딕 변수 알림
- 선택지 목록 표시
- ‘기다려주세요’라는 의미로 진행상태를 표시
- 예제: 모달 방식으로 진행 상태를 표시
- 예제: 커스텀 모달 알림
- 예제: 기본 팝오버
- 예제: 로컬 알림
- 알림 표식
- 예제: 간단한 효과음 알림
- ‘기다려주세요’라는 의미로 진행상태를 표시
- 핵심 정리
- 알림 메시지
- 4장 뷰와 애니메이션
- 뷰의 구조
- 예제: 뷰 구조 트리 복원
- 예제: 하위 뷰 탐색
- 하위 뷰 관리
- 뷰 태그와 탐색
- 예제: 연결 오브젝트와 뷰 이름
- 뷰의 배치
- 예제: 뷰 프레임
- 예제: 변환 프로퍼티
- 화면 표시와 인터랙션 프로퍼티
- UIView 애니메이션
- 예제: 뷰 페이드 인/아웃
- 예제: 뷰 교체
- 예제: 뷰 뒤집기
- 예제: 코어 애니메이션 전환 효과
- 예제: 바운스 애니메이션
- 예제: 키 프레임 애니메이션
- 예제: 이미지 뷰 애니메이션
- 핵심 정리
- 콘스트레인트
- 콘스트레인트 어트리뷰트
- 콘스트레인트 규칙
- 콘스트레인트와 프레임
- 콘스트레인트 작성
- 형식 문자열
- 프리디케이트
- 형식 문자열 정리
- 뷰 정렬과 가변 크기
- 콘스트레인트 처리
- 콘스트레인트 관리
- 예제: 콘스트레인트 비교
- 예제: 고정 크기 콘스트레인트 뷰
- 예제: 중앙 정렬
- 예제: 종횡비 설정
- 예제: 장치 방향 전환
- 콘스트레인트 디버그
- 예제: 콘스트레인트 보기
- 콘스트레인트 매크로
- 핵심 정리
- 예제: UITextField 키보드 숨김
- 예제: 커스텀 액새서리 뷰와 키보드 숨김
- 예제: 키보드 표시와 뷰 영역 조정
- 예제: 커스텀 입력 뷰
- 예제: 비텍스트 뷰의 텍스트 입력
- 예제: 비텍스트 뷰의 커스텀 입력 뷰 지원
- 예제: 발전형 텍스트 에디터(1부)
- 예제: 발전형 텍스트 에디터(2부)
- 예제: 텍스트 입력 필터링
- 예제: 텍스트 패턴 탐지
- 예제: UITextView의 오탈자 감지
- 텍스트 문자열 검색
- 핵심 정리
- 뷰 컨트롤러
- 내비게이션 컨트롤러와 스플릿 뷰를 사용한 개발
- 예제: 내비게이션 아이템 클래스
- 예제: 모달 표시
- 예제: 스플릿 뷰 컨트롤러
- 예제: 유니버설 스플릿 뷰/내비게이션 앱
- 예제: 탭 바
- 탭 상태 기억
- 예제: 페이지 뷰 컨트롤러
- 예제: 커스텀 컨테이너
- 예제: 세구에
- 핵심 정리
- 이미지 피커 컨트롤러
- 예제: 이미지 선택
- 예제: 사진 찍기
- 예제: 영상 녹화
- 예제: 미디어 플레이어 영상 재생
- 예제: 영상 편집
- 예제: 영상 선택과 편집
- 예제: 사진 이메일
- 예제: 문자 메시지
- 예제: SNS 상태 업데이트
- 핵심 정리
- iOS 테이블
- 델리게이션
- 테이블 작성
- 예제: 기본 테이블 구현
- 테이블 뷰 셀
- 예제: 체크 테이블
- 더보기 액세서리
- 예제: 테이블 편집
- 예제: 섹션 구분
- 예제: 테이블 검색
- 예제: 끌어서 새로고침
- 예제: 액션 셀
- 커스텀 그룹 테이블
- 예제: 멀티 휠 테이블
- UIDatePicker
- 핵심 정리
- 컬렉션 vs. 테이블
- 컬렉션 뷰 작성
- 플로우 레이아웃
- 예제: 기본 컬렉션 뷰 흐름
- 예제: 커스텀 셀
- 예제: 가로 스크롤 목록
- 예제: 인터랙티브 레이아웃 효과
- 예제: 스크롤
- 예제: 원 레이아웃
- 예제: 레이아웃에 제스처를 추가
- 예제: 진정한 그리드 레이아웃
- 예제: 커스텀 아이템 메뉴
- 핵심 정리
- 예제: UTIs
- 예제: 시스템 페이스트보드
- 예제: 문서 폴더 모니터링
- 예제: 액티비티 뷰 컨트롤러
- 예제: 미리보기 컨트롤러
- 예제: 문서 인터랙션 컨트롤러
- 예제: 파일 지원 형식 설정
- 예제: URL 서비스
- 핵심 정리
- 코어데이터 개론
- 엔티티와 모델
- 콘텍스트 생성
- 데이터 추가
- 데이터베이스 쿼리
- 오브젝트 삭제
- 예제: 섹션 테이블 데이터 소스와 코어 데이터
- 예제: 검색 테이블과 코어 데이터
- 예제: 코어 데이터 테이블 편집
- 예제: 컬렉션 뷰와 코어 데이터
- 핵심 정리
- 예제: 네트워크 상태 확인
- 연결상태 모니터링
- URL 로딩 시스템
- 예제: 단순 다운로드
- 예제: 다운로드 피드백
- 예제: 백그라운드 전송
- 예제: JSON 직렬화
- 예제: XML 트리 변환
- 핵심 정리
- 기본 장치 정보
- 장치 기능 제한
- 예제: 근접 센서 상태와 배터리 상태 확인
- 예제: 기타 장치 정보
- 코어 모션 기초
- 예제: ‘위’를 향한 가속
- 기본 방향
- 예제: 가속 센서를 사용해 화면 오브젝트를 이동
- 예제: 가속 센서 기반 스크롤 뷰
- 예제: 장치 자세
- 흔들기 감지 모션 이벤트
- 예제: 외부 화면
- 사용자 트래킹
- 하나 더: 가용 디스크 공간 확인
- 핵심 정리
- 손쉬운 사용 개론
- 손쉬운 사용 활성화
- 트레이트
- 라벨
- 힌트
- 시뮬레이터 테스트
- 업데이트 알림
- iOS 장치의 손쉬운 사용 테스트
- TTS 조정
- 동적 글자 크기 조정
- 핵심 정리
- 숫자
- 박스
- 컨테이너 구문
- 첨자 지정
- 기능 테스트