이미 소장하고 있다면 판매해 보세요.
|
01장 제스처와 터치
___터치 ______터치 처리 단계 ______터치 이벤트와 리스폰더 메소드 ______뷰 터치하기 ______멀티 터치 ______제스처 인식자 ___예제: 간단한 터치 입력 인터페이스 추가 ___예제: 팬 제스처 인식자 추가하기 ___예제: 동시에 여러 개의 제스처 인식자 클래스 사용 ______제스처 간의 충돌에 대한 해법 ___예제: 이동 가능 영역의 제한 ___예제: 터치 인식 테스트 ___예제: 비트맵 이미지의 터치 감지 테스트 ___예제: 터치 동작으로 뷰에 그림 그리기 ___예제: 뷰에 그려진 경로를 부드럽게 만들기 ___예제: 멀티 터치 상호작용의 활용 ___예제: 원형 그림의 감지 ___예제: 커스텀 제스처 인식 클래스 만들기 ___예제: 스크롤 뷰에서 드래그하기 ___예제: 터치에 대한 실시간 피드백 ______터치 피드백 기능 활성화 ______터치 이벤트의 인터셉팅과 포워딩 ______TOUCHkit 오버레이 뷰의 구현 ___예제: 뷰에 메뉴 추가 ___정리 02장 컨트롤의 생성과 사용 ___UIControl 클래스 ______타겟 액션 ______컨트롤의 종류 ______컨트롤 이벤트 ___버튼 ___인터페이스 빌더에서 버튼 생성 ______버튼에 액션 연결 ___예제: 버튼 생성 ______여러 줄의 버튼 텍스트 ______버튼에 애니메이션 요소 추가 ______버튼에 상태 추가 ___예제: 애니메이션 버튼의 응답 구현 ___예제: 커스텀 핸들이 있는 슬라이더 생성 ______UISlider 수정 ______효율성 추가 ___어피어런스 프록시 ___예제: 두 번 탭할 수 있는 세그먼티드 컨트롤 생성 ______두 번째 탭 동작에 대한 피드백 ______컨트롤 요소와 속성 값 ___스위치와 스테퍼 활용 ___예제: UIControl의 하위 클래스 생성 ______컨트롤 생성 ______터치의 추적 ______이벤트 전달 ___예제: 별의 개수로 점수를 표시하는 슬라이더 생성 ___예제: 터치 휠 생성 ___예제: 잡아당길 수 있는 리본 컨트롤 생성 ______컨트롤 요소임을 알림 ______터치 테스트 ___예제: 잠금 컨트롤 생성 ___페이지 인디케이터 컨트롤 추가 ___예제: 페이지 스크롤러 생성 ___툴바 생성 ___정리 03장 사용자 알림 ___경고를 이용한 사용자 알림 ______간단한 경고 생성 ______경고 델리게이트 ______화면에 경고 표시 ______경고의 종류 ___‘잠시 기다려주세요’: 진행 상황 보여주기 ______UIActivityIndicatorView 사용 ______UIProgressView 사용 ___예제: 버튼이 없는 경고 뷰 ______화면에 떠있는 작업 진행 메시지 생성 ___예제: 모달 상태의 경고 뷰 생성 ___예제: 경고 뷰에 가변 인수 사용 ___선택 목록 표시 ______스크롤되는 메뉴 ______액션 시트에서 텍스트 표시 ___예제: 커스텀 오버레이 생성 ______탭 가능한 오버레이 뷰 ___예제: 기본적인 팝오버 생성 ___예제: 로컬 노티피케이션 ______성공적인 노티피케이션 전략을 위한 제언 ___경고 뷰 인디케이터 ______애플리케이션에 배지 달기 ___예제: 간단한 오디오 경고 ______시스템 사운드 ______진동 ______경고 ______지연 ______시스템 사운드 제거 ___정리 04장 뷰와 애니메이션 ___뷰의 계층 구조 ___예제: 뷰 계층 구조 확인 ______XIB 형식의 뷰와 스토리보드에서 만든 뷰 ___예제: 서브뷰 검색과 호출 ___서브뷰 관리 ______서브뷰 추가 ______서브뷰의 순서 변경과 삭제 ______뷰와 관련된 콜백 메소드 ___뷰에 태그 달기와 불러오기 ______뷰를 찾는 데 태그 활용 ___예제: 연관 객체를 이용해서 뷰에 이름 붙이기 ______인터페이스 빌더에서 뷰에 이름 붙이기 ___뷰의 기하학적 구조 ______프레임 ______프레임을 위한 사각형 활용 함수 ______원점 좌표와 크기 ______변환 ______뷰의 좌표 체계 ___예제: 뷰 프레임 활용 ______뷰의 크기 조절 ______CGRect 구조와 중심점 ______기타 기하 요소 ___예제: 뷰의 변형 정보 가져오기 ______변형 속성 정보 가져오기 ______뷰 교차 여부 확인 ___화면 표시와 상호작용 속성 ___UIView 애니메이션 ______블록을 이용한 애니메이션 구현 ___예제: 투명도를 이용한 뷰 애니메이션 ___예제: 뷰 교환 애니메이션 ___예제: 다양한 뷰 전환 효과 ___예제: 코어 애니메이션을 이용한 전환 효과 ___예제: 뷰에 바운스 효과 적용 ___예제: 이미지 뷰 애니메이션 ___정리 05장 뷰 콘스트레인트 ___뷰 콘스트레인트의 개요 ___정렬 사각형 ______정렬 사각형의 선언 ___콘스트레인트의 속성과 관계 ______콘스트레인트 연산 ___콘스트레인트 법칙 ___콘스트레인트 선언 ______기본적인 콘스트레인트 선언 ______비주얼 형식 콘스트레인트 ______변수 바인딩 ___형식 문자열 ______방향 ______뷰 이름 ______연결 기호 ___술어 ______메트릭 ______뷰와 뷰를 연결하는 술어 ______우선순위 ___형식 문자열 정리 ___콘스트레인트의 저장과 갱신 ___예제: 콘스트레인트 비교 ___예제: 콘스트레인트 설명 ___예제: 고정 크기 콘스트레인트 뷰 생성 ______자동 크기 조절 콘스트레인트 기능 끄기 ______뷰를 경계선 내에 배치 ______크기 설정을 위한 콘스트레인트 ___예제: 뷰의 중앙 정렬 ___예제: 화면 비례 설정 ___뷰 정렬과 유동적인 크기 설정 ______직접 뷰를 정렬할 수 없는 경우 ___예제: 회전에 대한 반응 ___콘스트레인트 매크로 ______일관된 콘스트레인트 ______충분한 콘스트레인트 ______매크로 ___콘스트레인트 디버깅 ___정리 06장 텍스트 입력 ___예제: UITextField 키보드 숨기기 ______키보드 숨김 방지 ______텍스트 트레이트 프로퍼티 ______기타 텍스트 입력 창 프로퍼티 ___예제: 커스텀 액세서리 뷰를 사용한 텍스트 뷰 숨기기 ___예제: 키보드에 맞춰 뷰 조정 ___예제: 액세서리 뷰에 뷰 맞추기 ______하드웨어 키보드 테스트 ___예제: 커스텀 입력 뷰 생성 ___예제: 텍스트 입력 주의 뷰 생성 ___예제: 비텍스트 뷰에 커스텀 입력 뷰 추가 ______입력 효과음 추가 ___예제: 발전형 텍스트 에디터 만들기(1) ___예제: 발전형 텍스트 에디터 만들기(2) ______속성 텍스트 기능 활성화 ______속성 처리 ______기타 리스폰더 기능 ___예제: 텍스트 입력 필터링 ___예제: 텍스트 패턴 인식 ______자신의 표현식 운용 ______반복적 정규표현식 ______데이터 감지자 ______자체 형식 감지자 ______유용한 웹사이트 ___예제: UITextView에서 맞춤법 검사 ___텍스트 문자열 검색 ___정리 07장 뷰 컨트롤러 ___뷰 컨트롤러 ______UIViewController 클래스 ______내비게이션 컨트롤러 ______탭 바 컨트롤러 ______스플릿 뷰 컨트롤러 ______페이지 뷰 컨트롤러 ______팝오버 컨트롤러 ___내비게이션 컨트롤러와 스플릿 뷰로 개발 ______내비게이션 컨트롤러와 스택 ______뷰 컨트롤러의 추가와 꺼내기 ______바 버튼 ___예제: 내비게이션 아이템 클래스 ______제목, 뒤로 가기 버튼 ______매크로 ___예제: 모달 형식 ______커스텀 모달 정보 보기 표시 ___예제: 스플릿 뷰 컨트롤러 생성 ___예제: 유니버설 스플릿 뷰/내비게이션 앱 작성 ___예제: 탭 바 ___탭 상태 기억 ___예제: 페이지 뷰 컨트롤러 ______Book 프로퍼티 ______구현 래핑 ______예제 찾아보기 ______페이지 번호 만들기 ___예제: 페이지 뷰 컨트롤러 슬라이더로 페이지 넘김 ___예제: 커스텀 컨테이너 ______자식 뷰 컨트롤러의 추가와 삭제 ______뷰 컨트롤러 사이의 전환 ___예제: 세구에 ______세구에, 인터페이스 빌더와 iOS 6 ___정리 08장 공통 컨트롤러 ___이미지 선택 컨트롤러 ______이미지 소스 ______아이폰과 아이패드의 피커 표시 ___예제: 이미지 선택 ______방법론: 시뮬레이터에 사진 추가 ______애셋 라이브러리 프레임워크 ______피커 표시 ______델리게이트 콜백 처리 ___예제: 사진 촬영 ______피커 설정 ______이미지 표시 ______앨범에 이미지 저장 ___예제: 영상 녹화 ______영상 녹화 피커 생성 ______영상 저장 ___예제: 미디어 플레이어로 영상 재생 ___예제: 영상 편집 ______AVFoundation과 코어 미디어 ___예제: 영상 편집과 선택 ___예제: 사진 이메일 전송 ______내용 작성 ___예제: 문자 메시지 전송 ___예제: 소셜 네트워크 상태 업데이트 ___예제: 액티비티 뷰 컨트롤러 ______액티비티 컨트롤러의 생성과 표시 ______서비스 추가 ______아이템과 서비스 ___예제: Quick Look 미리보기 컨트롤러 ______미리보기 구현하기 ___정리 09장 접근성 ___접근성 101 ______IB에서의 접근성 ___접근성 기능 활성화 ___트레이트 ___라벨 ___힌트 ___시뮬레이터 테스트 ___업데이트 고지 ___아이폰의 접근성 기능 테스트 ___정리 10장 테이블 뷰 생성과 관리 ___iOS 테이블 ___델리게이션 ___테이블 생성 ______테이블 스타일 ______테이블 뷰의 레이아웃 ______데이터 소스 지정 ______셀 배정 ______셀 클래스 등록 ______셀 디큐 ______델리게이트 배정 ___예제: 기본 테이블 구현 ______데이터 소스 메소드 ______사용자 터치에 반응 ___테이블 뷰의 셀 ______셀 선택 색상 ______커스텀 선택 트레이트 추가 ___예제: 체크 테이블 셀 작성 ___상세보기 액세서리 ___예제: 테이블 수정 ______실행 취소 기능 추가 ______실행 취소 지원 ______삭제 컨트롤 표시 ______삭제 요청 처리 ______셀 스와이핑 ______셀 재정렬 ______셀 추가 ___예제: 섹션 처리 ______섹션 만들기 ______섹션과 행 숫자 ______셀 반환 ______헤더 제목 생성 ______헤더와 푸터 커스터마이즈 ______섹션 인덱스 생성 ______섹션 불일치 처리 ______섹션 델리게이트 ___예제: 테이블 검색 ______검색 창 컨트롤러 생성 ______검색 창 컨트롤러에 셀 등록 ______검색을 위한 데이터 소스 메소드 작성 ______델리게이트 메소드 ______검색에 반응하는 인덱스 ___예제: 테이블에 끌어서 새로 고침 기능 추가 ___예제: 액션 행 추가 ___커스텀 그룹 테이블 생성 ______그룹 환경설정 테이블 생성 ___예제: 멀티휠 테이블 생성 ______UIPickerView 생성 ______데이터 소스와 델리게이트 메소드 ______피커를 담은 뷰 ___UIDatePicker ______날짜 피커 생성 ___정리 11장 컬렉션 뷰 ___컬렉션 뷰와 테이블 ______실제 구현의 차이 ___컬렉션 뷰 설정 ______컨트롤러 ______컬렉션 뷰 ______데이터 소스와 델리게이트 ___플로우 레이아웃 ______스크롤 방향 ______아이템의 크기와 행 간격 ______헤더와 푸터 크기 조절 ______테두리 ___예제: 기본 컬렉션 뷰 흐름 ___예제: 커스텀 셀 ___예제: 가로 스크롤 목록 ___예제: 인터랙티브 레이아웃 효과 ___예제: 스크롤 잡기 ___예제: 원형 레이아웃 생성 ______생성과 삭제 애니메이션 ______원형 레이아웃 실행 ______레이아웃 ___예제: 레이아웃에 제스처 추가 ___예제: 실제 그리드 레이아웃 생성 ___예제: 커스텀 아이템 메뉴 ___정리 12장 코어 데이터 입문 ___코어 데이터 ___엔티티와 모델 ______모델 파일 작성 ______속성과 관계 ______객체 클래스 작성 ___컨텍스트 생성 ___데이터 추가 ______데이터 파일 확인 ___데이터베이스 쿼리 ______가져오기 요청 설정 ______가져오기 실행 ___객체 제거 ___예제: 테이블 데이터 소스를 위한 코어 데이터 사용 ______인덱스 경로 접근 ______섹션 키 경로 ______섹션 그룹 ______인덱스 제목 ______테이블 가독성 ___예제: 검섹 테이블과 코어 데이터 ___예제: 코어 데이터 테이블 뷰에 수정 기능 추가 ______실행 취소/다시 실행 지원 ______실행 취소 트랜잭션 생성 ______편집에 대한 재고 ___예제: 코어 데이터로 작동하는 컬렉션 뷰 ___정리 13장 네트워킹의 기초 ___예제: 네트워크 상태 확인 ___연결 변동 사항 스캔 ___예제: 동기식 다운로드 ___예제: 비동기식 다운로드 ___묵묵한 비동기 다운로드 ___예제: JSON 직렬화 ___예제: XML을 트리 구조로 변환 ______트리 ______해석 트리 작성 ___정리 부록 오브젝티브C 구문 ___숫자 ___박스 처리 ___열거형 ___컨테이너 구문 ___컨테이너 접근 ___기능 테스트 |
|
새로운 ‘iOS Developer's Cookbook’의 세계에 온 것을 환영한다.
iOS 6는 애플의 모바일 기기에게 있어 새로운 가능성과 즐거움의 장을 열어준다. 이 책은 개발을 시작하는 여러분을 돕기 위한 목적으로 집필했다. 최신 WWDC에서 소개된 모든 새로운 기능이 이 책에 포함됐으며, 이런 기능을 여러분의 애플리케이션에 어떤 방식으로 담을 수 있는지에 대한 내용도 소개한다. 출판 팀은 이번 판을 내면서 독자가 들고 다니기에도 좋고, 이용하기에도 편리한 두께로 책을 나눴다. 『The Core iOS 6 Developer’s Cookbook』은 매일같이 일어나는 개발 문제를 해결할 수 있는 방법을 제시한다. 표준 API와 인터페이스 요소를 이용해서 iOS 애플리케이션을 만들 때 필요한 모든 클래스를 소개한다. 또한 그래픽, 터치, 뷰와 같은 모바일 애플리케이션 개발에 필요한 완성형 예제도 제공한다. 이 책과 분리돼 출간된 『The Advanced iOS 6 Developer’s Cookbook』(에이콘출판사, 2013년 출간예정)은 스토어 킷, 게임 킷, 코어 로케이션 등 개발자가 자주 사용하는 프레임워크를 중심으로 구성했으며, 특수한 목적의 라이브러리 구축과 앱 개발의 기본 수준을 넘는 내용이 담겨있다. iOS 6의 상급자를 위한 이 책은 iOS 개발에 일정 수준 이상의 식견을 갖추고 특수한 영역에 대한 실용적인 기법을 찾으려는 개발자를 위해 썼다. 이전 판과 마찬가지로 이 책의 예제 코드는 깃허브에서 다운로드할 수 있다. WWDC 2012 이후 발표된 iOS 6와 관련된 모든 내용이 담긴 이번 쿡북의 예제 디렉토리는 https://github.com/erica/iOS-6-Cookbook이다. 책을 읽다가 제안 사항이 떠오르거나 코드 수정, 오탈자 수정 등 이 책이 좀 더 나아질 수 있는 내용이 있다면 언제든 erica@ericasadun.com으로 메일을 보내주기 바란다. 이 책의 개선을 위한 여러분의 모든 피드백을 감사히 받고, 다음 판에 기꺼이 반영하겠다. - 2012년 11월, 에리카 세든 ---「저자서문」 중에서 아론 힐리가스와 함께 iOS 개발서 분야의 대표적인 작가이자 개발자로 명성 높은 에리카 세든이 전작의 성공에 힘입어 새롭게 펴낸 이 책은 iOS가 기품 있는 성숙 단계에 이른 것과 같이, 방대한 예제 코드를 제공하는 개발 서적에서 iOS에 대한 통합적인 시각을 갖춘 개발자 라이브러리로 진화했다. 넥스트스텝(1987년) 이전부터 애플의 팬인 에리카의 개발 지식과 경험, 그리고 그와 뜻을 같이 하는 개발자 커뮤니티의 혜안이 이번 책에 그대로 녹아있다. 전작의 장점을 살려 절차지향과 객체지향을 넘나들며, 가끔은 두 방법 모두를 사용해 좀 더 효율적이고 효과적이며 iOS에 능숙하지 않은 개발자도 이해하기 쉬운 예제로 구성됐다. 『The Core iOS 6 Developer's Cookbook (Fourth Edition) 한국어판』은 웹 개발이나 타 플랫폼 개발 경험이 있는 사람이라면 누구나 쉽게 활용할 수 있는 예제 코드 중심으로 구성됐으며, 완성된 프로젝트 형식의 예제 코드가 제공되는 깃허브를 통해 에리카와 연결된 iOS 커뮤니티의 최신 지식과 경험을 나눌 수 있다. iOS 개발을 처음 시작하는 사람이라면 누구나 엑스코드에서 스토리보드를 열고 드래그앤드롭 방식으로 각종 UI 요소를 배치하며 개발에 대한 부담감을 덜고, 개발 방식에 대한 이해를 높이게 마련인데, 이 책은 그 다음 단계를 준비하는 개발자를 위해 씌어졌다. 이번 책의 상당 부분은 iOS 인터페이스의 작동 원리를 설명하고 실무 프로젝트에 어떻게 반영할 것인지 설명한다. 사용자의 터치 처리 방식, 컨트롤 등 다양한 상호작용 요소, 사용자 알림 전략, 사용성을 높여주는 뷰 전환과 애니메이션 효과, 텍스트 입력 방식 등 경험 요소를 먼저 설명함으로써 윈도우 이면에 숨은 코드의 작동 원리를 자연스럽게 이해할 수 있도록 돕는다. iOS 6에 처음 도입된 오토레이아웃 기법인 콘스트레인트 방식과 고정 레이아웃에 가까운 테이블 뷰를 대체할 수 있는 신개념의 컬렉션 뷰 구현 방식 역시 상세하게 설명한다. 또한 책의 후반부에서는 앱 개발에서 필수적이라 할 수 있는 코어 데이터의 개요와 앱과 웹을 연결하기 위한 다양한 네트워킹 기법도 이해하기 쉽게 설명한다. 『The Core iOS 6 Developer's Cookbook 한국어판』은 iOS 6만의 차별화된 기능을 신속하게 파악하려는 로직 개발자, iOS의 상호작용을 구현하려는 UI 개발자, 그리고 iOS 인터페이스 구성과 작동 원리, 구현 철학을 이해하려는 GUI 디자이너를 위한 훌륭한 참고서이자 라이브러리다. 이 책을 통해 iOS의 핵심 내용을 이해하게 된 개발자는 좀더 전문적인 개발 단계로 넘어가기 위해 애플 개발자 문서를 늘 가까이 하고, 개발 커뮤니티에 참여하며, 조만간 개최될 WWDC의 주요 이슈를 꼼꼼히 챙겨두기를 바란다. 아울러 이 책의 자매서인 『The Advanced iOS 6 Developer's Cookbook 한국어판』(에이콘출판사, 2013년 출간 예정)을 통해 본격적인 iOS 프로그래머가 알아야 할 수준 높은 구현 방식도 경험할 수 있기를 바란다. - 동준상, 송용근 ---「옮긴이의 말」 중에서 |
|
『The Core iOS 6 Developer's Cookbook 한국어판』은 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에 새롭게 추가된 숫자, 배열, 딕셔너리 구조체를 소개한다 |