목차 일부
01장 다시 시작하기
이 책에 대해
알아야 할 것들
시작하기 전에 준비해 두어야 하는 것들
이 책의 구성
준비 되었는가?
제1부 코어 데이터
02장 코어 데이터의 구조
코어 데이터의 간략한 역사
코어 데이터 애플리케이션 만들기
코어 데이터의 개념과 용어
데이터 모델과 영구 저장소
- 데이터 모델 클래스 : NS...
목차 전체
01장 다시 시작하기
이 책에 대해
알아야 할 것들
시작하기 전에 준비해 두어야 하는 것들
이 책의 구성
준비 되었는가?
제1부 코어 데이터
02장 코어 데이터의 구조
코어 데이터의 간략한 역사
코어 데이터 애플리케이션 만들기
코어 데이터의 개념과 용어
데이터 모델과 영구 저장소
- 데이터 모델 클래스 : NSManagedObjectModel
- 영구 저장소와 영구 저장소 코디네이터
- 데이터 모델 돌아보기
엔터티와 데이터 모델 에디터
- 엔터티
- 프로퍼티
관리 객체
- 키-값 코딩
- 관리 객체 컨텍스트
- 종료 시 저장
영구 저장소에서 데이터 불러오기
페치 결과 컨트롤러
- 페치 결과 컨트롤러 만들기
- 페치 결과 컨트롤러 델리게이트 메서드
- 페치 결과 컨트롤러로부터 관리 객체 검색
- 새로운 관리 객체의 생성과 삽입
- 관리 객체 삭제
모든 것이 갖추어졌다
03장 슈퍼 스타트: 데이터 추가, 표현, 삭제
Xcode 프로젝트 설정
- 애플리케이션 구조
- 애플리케이션 델리게이트 인터페이스 수정하기
- 애플리케이션 델리게이트 구현하기
테이블 뷰 컨트롤러 생성하기
MainWindow.xib 설정하기
- 아웃렛에 연결하기
데이터 모델 디자인하기
- 엔터티 추가하기
- 새로운 엔터티 수정하기
- 새로운 엔터티에 속성 추가하기
- Name 속성 추가하기
- 속성 수정하기
HeroListViewController 생성하기
- 페치 결과 컨트롤러 선언하기
- 프로젝트에 두 개의 아이콘을 끌어다 놓자
- HeroListViewController 인터페이스를 디자인하자
- 영웅 뷰 컨트롤러 구현하기
- 실행해보자
- 다 됐지만 아직 끝난 건 아니다.
04장 디테일 뷰의 악마
테이블 기반 vs Nib 기반의 디테일 뷰
디테일 편집 뷰에 도전하기
배열로 테이블 구조 제어하기
쌍배열
- 중첩배열
- 쌍 중첩배열
- 테이블 구조를 배열로 표현하기
- 중첩배열, 명확히 말하면
- SuperDB 프로젝트 업데이트하기
속성의 형식 정하기
디테일 뷰 컨트롤러 생성하기
- 인스턴스 변수와 프로퍼티 선언하기
- 보여주기 기능 구현하기
- 새로운 컨트롤러 사용하기
- 뷰 기능 시험하기
편집 보조 컨트롤러 추가하기
- 상위 클래스 생성하기
- 문자열 속성 에디터 생성하기
- 날짜 속성 에티터 생성하기
- 속성 에디터 사용하기
섹션 리스트 구현하기
- 일반적인 셀렉션 리스트 컨트롤러 생성하기
악마의 최후
05장 변화를 준비하자: 마이그레이션과 버전 관리
데이터 모델에 관하여
- 데이터 모델이 컴파일되다
- 데이터 모델은 여러 개의 버전을 가질 수 있다.
- 데이터 모델 버전 식별자
- 버전이 할당된 데이터 모델 사용하기
마이그레이션
- 경량 vs 표준
- 표준 마이그레이션
- 경량 마이그레이션을 사용하기 위해 앱 설정하기
이동할 시간
06장 커스텀 관리 객체
데이터 모델 업데이트하기
- 나이 속성 추가하기
- 선호 색 속성 추가하기
- 이름 속성에 최소 길이 추가하기
Hero 클래스 생성하기
Hero 헤더 수정하기
기본값 할당하기
유효성 검사
- 한 속성에 대한 유효성 검사
- 여러 속성에 대한 유효성 검사
가상 접근자
유효성 검사 피드백 추가하기
- ManagedObjectAttributeEditor 헤더 파일 업데이트하기
- ManagedObjectAttributeEditor 구현 파일 업데이트하기
- 하위 클래스에서 유효성 검사를 사용하도록 업데이트하기
값 변환기 생성하기
색 속성 에디터 생성하기
영웅 편집 컨트롤러에 새로운 속성 표시하기
표시 문제
영웅 편집 컨트롤러에서 특정 행을 표시만 하기
- 펼쳐보기 지시자 숨기기
- 읽기전용 속성에 대한 탭 다루기
우리를 물들여 가다
07장 관계, 페치드 프로퍼티, 그리고 표현
애플리케이션 확장하기: 초능력과 보고서
관계
- 일대일 관계
- 일대다 관계
- 역관계
- 삭제 규칙
페치드 프로퍼티
관계와 페치드 프로퍼티를 데이터 모델 에디터에서 생성하기
- Power 엔터티 추가하기
- Powers 관계 생성하기
- 역관계 생성하기
- olderHeroes 페치드 프로퍼티 생성하기
- youngerHeroes 페치드 프로퍼티 생성하기
- sameSexHeroes 페치드 프로퍼티 생성하기
- oppositeSexHeroes 페치드 프로퍼티 생성하기
관계와 페치드 프로퍼티를 Hero 클래스에 추가하기
리팩터링
- 클래스 이름 바꾸기
- 영웅 인스턴스 변수 리팩터링하기
- 배열 제거하기
- 저장하기와 취소하기 버튼 제공하기
일대다 관계 지원하기
새로운 일반화된 컨트롤 사용하기
- 영웅과 초능력을 위한 팩토리 메서드 추가하기
- Nib 인스턴스 삭제하기
- HeroListController 업데이트하기
페치드 프로퍼티 속성 컨트롤러 생성하기
삭제된 객체 정리하기
멋진 코어 데이터
2부 더 멀리 탐험해보자
08장 더 멀리 탐험하기
예제 애플리케이션
네트워크 통신 모델
- 클라이언트-서버 모델
- 피어-투-피어 모델
- 하이브리드 클라이언트-서버 / 피어-투-피어
GameKit 세션
- 세션 생성하기
- 다른 세션을 찾아 연결하기
- 다른 세션 수신하기
- 피어로 데이터 전송하기
- 정보를 전송하기 위해 패키지로 만들기
- 피어로부터 데이터 수신하기
- 연결 닫기
피어 피커
- 피어 피커 생성하기
- 피어 연결 다루기
- 세션 생성하기
프로젝트 생성하기
- 유휴 타이머 끄기
- GameKit 프레임워크 임포트하기
- 인터페이스 수정하기
실행해 보자
게임을 실행하자!
09장 온라인 플레이: Bonjour와 네트워크 스트림
이 장의 애플리케이션
전반적인 과정
리스너 구성하기
- 콜백 함수와 런 루프 통합
- 소켓 설정하기
- 대기 포트 정하기
- 런 루프에 소켓 등록하기
- 소켓 콜백 함수 구현하기
- 리스너 멈추기
Bonjour
- 공개 서비스 만들기
- 발행된 Bonjour 서비스 찾기
- 브라우저 델리게이트 메서드
- 발견된 서비스 분석하기
스트림
- 스트림 열기
- 스트림과 스트림의 델리게이트
- 스트림에서 데이터 받기
- 스트림을 통해 데이터 전송하기
종합하기
온라인 플레이를 위해 틱택토 수정하기
- 패킷 카테고리 추가하기
- 온라인 세션 객체 구현하기
- 리스너 객체 생성하기
- 피어 브라우저 생성하기
- 온라인 플레이 지원을 위해 TicTacToeViewController 업데이트하기
즐겨보자
10장 웹에 있는 데이터 사용하기
애플리케이션 뼈대 구성하기
- 액션과 아웃렛 선언하기
- 인터페이스 설계하기
- 원형 구현하기
Foundation 객체를 사용하여 데이터 가져오기
데이터를 동기적으로 가져오기
- URL 요청
비동기적으로 데이터 가져오기
- NSURLConnection 델리게이트 메서드
- WebWork에 비동기 데이터 수신 추가하기
요청 타입과 폼 매개변수
- HTTP 요청 타입 명시하기
- 폼 매개변수
- RequestTypes 애플리케이션 만들기
HTTP 404 - 결론을 찾을 수 없습니다.
11장 MapKit
이 장의 애플리케이션
개요와 용어정리
맵뷰
- 맵 종류
- 사용자 위치
- 좌표 지역
- 표시할 지역 설정하기
- 맵뷰 델리게이트
주석
- 주석 객체
- 주석 뷰
- 주석 추가와 제거
- 주석 선택하기
- 맵뷰에 주석 뷰 제공하기
리버스 지오코딩
MapMe 애플리케이션 만들기
- 아웃렛과 액션 선언하기
- 인터페이스 만들기
- 주석 객체 클래스 작성하기
- MapMeViewController 구현하기
- MapKit과 코어 로케이션 프레임워크 연결하기
동쪽으로 가라, 젊은 프로그래머들이여
12장 메일 보내기
이 장의 애플리케이션
MessageUI 프레임워크
- 메일 작성 뷰 컨트롤러 생성하기
- 제목 미리 설정하기
- 수신자 미리 설정하기
- 본문 설정하기
- 첨부파일 추가하기
- 메일 작성 뷰 보여주기
- 메일 작성 뷰 컨트롤러 델리게이트 메서드
MailPic 애플리케이션 만들기
- 아웃렛과 액션 선언하기
- 사용자 인터페이스 만들기
- 뷰 컨트롤러 구현하기
- MessageUI 프레임워크 연결하기
메일을 보내자
13장 아이팟 라이브러리 접근
예제 애플리케이션
아이팟 라이브러리 사용하기
- 미디어 아이템
- 미디어 아이템 컬렉션
- 미디어 쿼리와 미디어 프로퍼티 술어
- 미디어 피커 컨트롤러
- 뮤직 플레이어 컨트롤러
간단한 재생기 애플리케이션 만들기
- 미디어 아이템 컬렉션 기능 추가하기
- 아웃렛과 액션 선언하기
- 사용자 인터페이스 만들기
- 심플 플레이어 뷰 컨트롤러 구현하기
- 심플 플레이어를 실행해 보자
그만! 거친 바다로 가자!
14장 인터페이스가 항상 반응하게 만들기
동시성 문제 탐구하기
Stalled 애플리케이션 생성하기
- 액션과 아웃렛 선언하기
- 인터페이스 디자인하기
- Stalled 뷰 컨트롤러 구현하기
타이머
- 타이머 생성하기
- 타이머 정지하기
- 타이머의 한계
Stalled에 타이머 추가하기
- 배치 객체 만들기
- 컨트롤러 헤더 업데이트하기
- nib 업데이트하기
- 뷰 컨트롤러 구현 업데이트하기
오퍼레이션 큐 & 동시성
- 스레드
- 오퍼레이션
- 오퍼레이션 큐
Stalled 애플리케이션에 오퍼레이션 큐 추가하기
- SquareRootApplication 생성하기
- StalledViewController.h 변경하기
- 사용자 인터페이스 수정하기
StalledViewController.m 업데이트하기
큐에 넣자
15장 디버깅
디버거
- 브레이크 포인트
- GDB 콘솔
정적 분석
특정 버그
- 메모리 오버릴리즈하기
- 무한 반복
- 놓친 아웃렛과 액션 커넥션들
GDB: 결론 단락에서 멈추다
16장 끝없이 이어지는 길
잠시 떨어져서 바라보자
- 애플의 문서
- 메일링 리스트
- 토론 포럼
- 웹사이트
- 블로그
작별 인사
서평 (0 건)
*주제와 무관한 내용의 서평은 삭제될 수 있습니다.
서평 제목에는 특수기호 사용을 제한합니다.
서평추가