Intro 진짜 iPhone 개발자 되기
iPhone 개발자 센터 가입
* 따라하기 : iPhone 개발자 센터 가입
Xcode와 iPhone SDK 다운로드 및 설치
iPhone Developer Program 등록
* 따라하기 : iPhone Developer Program 가입
요약(Summary)
1장 iPhone Software Development Kit(SDK)
App Store
Software Development Kit(SDK)
- 유료회원제
Objective-C, Foundation Framework, Cocoa Touch, UIKit
- Cocoa Touch
- Foundation Framework
iPhone 프레임워크
iPhone 제약 사항
- 메모리와 프로세서 속도
- 작은 화면
- 보안
- 언제든지 종료 가능한 애플리케이션
- 메모리 관리
관련 문서
* 따라하기&동영상 : iPhone 개발 시작하기
요약(Summary)
2장 C 기초부터 다시보기
C 터미널 프로그램
* 따라하기&동영상 : Xcode를 이용한 간단한 C 프로그램
C 언어 주석
Header, Import, Include42
* 따라하기&동영상 : 헤더 파일 작성
전처리 구문
* 따라하기&동영상 : 전처리 구문 사용하기
데이터 타입, 연산자
제어문, 함수, 조건문
배열, 구조체
함수
printf 함수
포인터
* 따라하기&동영상 : 포인터 사용하기
포인터 역참조(dereference)
포인터와 배열
* 따라하기 : 포인터로 만든 배열
요약(Summary)
3장 Objective-C의 기초
Objective-C Class와 Object
Class Interface와 Implementation
* 따라하기&동영상 : Class의 Interface와 Implementation 만들기
컴파일러 지시자 : @interface, @implementation
메서드 선언과 정의
* 따라하기&동영상 : Simple Class에 sayHello 메서드 구현하기
Interface 구조
Implementation 구조
Public, Private, Protected 인스턴스 변수
Simple Messaging
Message에서의 self
Nested Arguments
인스턴스 메서드와 클래스 메서드
* 따라하기&동영상 : Simple Class에 sayGoodBye 클래스 메서드 구현하기
alloc, init 메서드
Retain, Release를 이용한 메모리 관리
* 따라하기&동영상 : 메모리 관리
인스턴스 변수와 메모리
Autorelease를 이용한 메모리 관리
요약(Summary)
4장 Objective-C의 활용
프로퍼티
- Retain
- Assign
- Copy
- 프로퍼티 해제
Multiple-Argument 메시지
* 따라하기&동영상 : Simple Multiple-Argument Message 만들기
id 변수 타입, 다이내믹 타이핑, 다이내믹 바인딩
- id Type
- 다이내믹 타이핑과 다이내믹 바인딩
상속(Inheritance)
- 오버라이딩(Overriding) 메서드
- 오버로딩(Overloading) 메서드
카테고리
프로토콜
예외 처리
요약(Summary)
5장 iPhone에 애플리케이션 설치하고 디버깅하고 테스트하기
iPhone에 애플리케이션 설치하기
- Membership
- Certificate, Devices, Application ID, Provisioning
* 따라하기&동영상 : 실제 iPhone에 애플리케이션 설치하고 구동하기
디버깅(Debugging)
- 디버거를 이용한 디버깅
* 따라하기&동영상 : 애플리케이션 디버깅
- NSZombieEnabled
* 따라하기&동영상 : 좀비 활성화
- Instruments Leaks
* 따라하기 : 메모리 누수 찾기
- iPhone 시뮬레이터에서의 메모리 누수 찾기
애플리케이션 Deploy 및 Distribute
- 애플리케이션 Deploy
- 애플리케이션 Distribute
요약(Summary)
6장 애플리케이션(UIApplication, UIApplicationDelegate)
* 따라하기&동영상 : UIApplicationDelegate에 UIView와 UIViewController 추가하기
UIWindow, UIApplication, UIApplicationDelegate 연결하기
* 따라하기 : MainWindow.xib 조사
UIApplication, UIApplicationDelegate
- main.m 파일
- 애플리케이션 라이프 사이클 이벤트 처리
- 인터럽트
* 따라하기&동영상 : 애플리케이션 인터럽트 처리
요약(Summary)
7장 뷰(UIView, UIViewController)
UIView 클래스
UIViewController 클래스
View-based Application 템플릿
IBOutlet, IBAction
* 따라하기&동영상 : View-based Application 템플릿
* 따라하기&동영상 : Window-based Application 템플릿
UIViewController와 애플리케이션 라이프 사이클 이벤트
* 따라하기&동영상 : 라이프 사이클 메서드 관찰
요약(Summary)
8장 탭 바(UITabBar, UITabBarController)
UITabBar, UITabBarController, UITabBarItem, UITabBarControllerDelegate
* 따라하기&동영상 : 탭 바 애플리케이션 템플릿 사용하기
* 따라하기&동영상 : 탭 바 애플리케이션에 탭 바 아이템 추가하기
* 따라하기&동영상 : 템플릿을 이용하지 않고 탭 바 애플리케이션 만들기
* 따라하기&동영상 : 사용자 정의 탭 바 허용하기
요약(Summary)
9장 내비게이션(UINavigationBar, UINavigationBarController)
UINavigationBar, UINavigationController, UINavigationItem
* 따라하기&동영상 : 내비게이션 바를 이용한 3단계 뷰 애플리케이션
- 다른 뷰 추가
* 따라하기&동영상 : Window-based Application 템플릿으로 유틸리티 애플리케이션 만들기
UINavigationController에 대한 추가 내용
- Push와 Pop
- 내비게이션 바 설정
* 따라하기&동영상 : 탭에서 내비게이션 컨트롤러 사용하기
요약(Summary)
10장 테이블(UITableView, UITableViewController)
UITableView
UITableViewDelegate, UITableViewDataSource
- UITableViewDelegate
- UITableViewDataSource
* 따라하기&동영상 : UITableViewDelegate, UITableViewDataSource 적용
UITableViewController
* 따라하기&동영상 : UITableViewController
그룹핑과 인덱싱
- Grouped 테이블 스타일
* 따라하기&동영상 : 그룹핑
- 인덱싱
* 따라하기&동영상 : 인덱싱
테이블 내 이미지
* 따라하기&동영상 : 이미지 추가
행 선택
* 따라하기&동영상 : 행 선택
행 높이 변경
* 따라하기&동영상 : 행 높이 변경
테이블 셀 꾸미기
* 따라하기&동영상 : 테이블 셀 꾸미기
사용자 정의 테이블 셀
* 따라하기&동영상 : 인터페이스 빌더에서 사용자 정의 셀 만들기
내비게이션 바와 탭에서의 테이블
* 따라하기&동영상 : 탭 내 내비게이션 컨트롤러에서의 테이블
테이블 셀 편집
- 편집 모드
- 편집 모드 메서드
* 따라하기&동영상 : 행 편집
요약(Summary)
11장 Activity, Progress와 Alerting Users
Activity 표시-UIActivityIndicatorView
* 따라하기&동영상 : UIActivityIndicatorView
Progress 확인-UIProgressView
* 따라하기&동영상 : UIProgressView
알림창
- UIAlertView, UIAlertViewDelegate
* 따라하기&동영상 : UIAlertView
* 따라하기&동영상 : 여러 버튼 알림창
- UIActionSheet, UIActionSheetDelegate
* 따라하기&동영상 : UIActionSheet
애플리케이션 배지
* 따라하기&동영상 : 애플리케이션 배지 추가
요약(Summary)
12장 기본 컨트롤
버튼
- 배경 그림과 이미지를 포함한 버튼
* 따라하기&동영상 : 배경 그림과 이미지를 포함한 버튼
버튼 타입
UIToolBar
* 따라하기&동영상 : UIToolBar
UISwitch
UISlider
- 슬라이더 모양
슬라이더 값
- Continuous 프로퍼티
* 따라하기&동영상 : 스위치, 슬라이더
UITextField
* 따라하기&동영상 : (Number Pad를 이용한) UITextField
UITextView
UISegmentedControl
* 따라하기&동영상 : UISegmentedControl
웹 뷰
- UIWebView
- UIWebViewDelegate
* 따라하기&동영상 : 간단한 웹 브라우저
요약(Summary)
13장 피커와 카메라 컨트롤
피커-Date Picker와 Picker
- 데이트 피커
* 따라하기&동영상 : 데이트 피커
* 따라하기&동영상 : UIDatePicker 타이머 모드
- UIPickerView
* 따라하기&동영상 : 피커
* 따라하기&동영상 : UIPickerView 2개의 컴포넌트
* 따라하기&동영상 : UIPickerView에 UIImageView 넣기
카메라 사용―UIImagePickerController
- UIImagePickerController
- UIImagePickerControllerDelegate
* 따라하기&동영상 : UIImagePickerController
요약(Summary)
14장 애플리케이션 세팅
설정 애플리케이션
Settings Bundle
* 따라하기&동영상 : Settings Bundle 생성
- 세팅 필드 타입
* 따라하기&동영상 : PSTextFieldSpecifier 추가
- PSMultiValueSpecifier
* 따라하기&동영상 : PSMultiValueSpecifier 추가
- PSToggleSwitchSpecifier
* 따라하기&동영상 : PSToggleSwitchSpecifier 추가
- PSSliderSpecifier
* 따라하기&동영상 : PSSliderSpecifier 추가
- PSChildPaneSpecifier
* 따라하기&동영상 : PSChildPaneSpecifier 추가
NSUserDefaults로 설정 값 불러오기
* 따라하기&동영상 : Settings Bundle 불러오기
요약(Summary)
15장 프로퍼티 리스트, 아카이브
iPhone의 디렉터리 구조
- 디렉터리
프로퍼티 리스트
- 단순 나열(Serialization)
* 따라하기&동영상 : NSArray 저장
- NSPropertyListSerialization
* 따라하기&동영상 : XML 프로퍼티 리스트로 저장
아카이브
- 필요한 프로토콜
- NSKeyedArchiver, NSKeyedUnarchiver
* 따라하기&동영상 : 오브젝트 아카이브, 아카이브 해제
* 따라하기&동영상 : 오브젝트 계층 아카이브, 아카이브 해제
요약(Summary)
16장 SQLite를 이용한 데이터 유지
SQLite 데이터베이스 추가
* 따라하기&동영상 : FireFox SQLite Manager를 이용한 간단한 데이터베이스 생성
SQLite 데이터베이스 기본 사용법
- 데이터베이스 열기
Statement, statement 준비, statement 실행
- Select
* 따라하기&동영상 : 데이터베이스 열기 및 쿼리하기
- SQLite 바인딩, 추가, 갱신, 삭제
* 따라하기&동영상 : 데이터베이스를 쓰기 가능하게 만들기
요약(Summary)
17장 코어 데이터
코어 데이터-간단한 설명
모델 생성
- 엔티티
* 따라하기&동영상 : 코어 데이터 모델에 엔티티 추가
- 애트리뷰트
* 따라하기&동영상 : 애트리뷰트를 코어 데이터 모델에 추가하기
- Relationship
* 따라하기&동영상 : 모델링 Relationship
모델, 컨텍스트, 스토어
- NSManagedObjectModel
- NSPersistentStoreCoordinator
- NSManagedObjectContext
NSManagedObject
* 따라하기&동영상 : 엔티티에서 NSManagedObject 생성하기
* 따라하기&동영상 : 애플리케이션 코드에 코어 데이터 추가하기
오브젝트 추가
변경 사항 저장
엔티티 Fetch
- NSFetchRequest
- NSPredicate
- NSSortDescriptor
엔티티 삭제
* 따라하기&동영상 : 엔티티 생성, 획득, 삭제
요약(Summary)
18장 멀티미디어
사운드 플레이
- AudioServicesPlaySystemSound
- AVAudioPlayer, AVAudioPlayerDelegate
* 따라하기&동영상 : 사운드 파일과 MP3 플레이
Media Player Framework
- 미디어 데이터 클래스
- 멀티미디어 선택
- 멀티미디어 플레이-MPMusicPlayerController
* 따라하기 : 미디어 피커와 미디어 플레이어 사용하기
MPMoviePlayerController
* 따라하기&동영상 : 동영상 플레이
요약(Summary)
19장 간단한 네트워크 프로그래밍
CFNetwork
NSURL
* 따라하기 : NSURL을 이용한 간단한 네트워크 애플리케이션
요약(Summary)