CONTENTS
목차
읽음 표시는 직접 선택하며 자동 완료되지 않습니다.
- 01Objective-C 시작하기 - C 위에 얹은 메시지
Objective-C 가 아직 필요한 곳(기존 iOS·macOS 코드, Swift 연동), clang 으로 컴파일, #import, @autoreleasepool, NSLog 와 printf 출력 차이
- 02값과 타입 - C 타입과 객체 타입
C 기본 타입, NSInteger·CGFloat·BOOL(YES·NO), 객체 포인터와 *, id, nil 과 NULL, 형식 지정자(%ld·%@)
- 03메시지 보내기 - 대괄호 문법
[수신자 메시지], 인자 있는 메시지 이름(콜론), 중첩 메시지, 클래스 메서드와 인스턴스 메서드, nil 에게 보낸 메시지, 셀렉터(@selector)와 respondsToSelector
- 04클래스 정의 - 헤더와 구현 나누기
@interface 와 @implementation, .h·.m 분리, 인스턴스 변수, 메서드 선언과 구현, self, 여러 파일 컴파일
- 05프로퍼티 - 속성 키워드의 의미
@property 와 자동 합성, strong·weak·copy·assign, nonatomic, readonly, 점 문법과 메시지 문법, NSString 에 copy 를 쓰는 이유
- 06초기화와 메모리 - alloc init 과 ARC
alloc·init 두 단계, 지정 초기화 메서드와 self = [super init], 편의 생성자, ARC 의 참조 카운트, 순환 참조와 weak, dealloc
- 07문자열과 숫자 객체 - NSString 과 NSNumber
NSString 리터럴과 불변성, NSMutableString, stringWithFormat, 비교(isEqualToString 과 ==), 부분 문자열·검색, NSNumber 와 박싱 @(값)
- 08컬렉션 - NSArray·NSDictionary·NSSet
리터럴 @[] @{}, 불변과 가변, 객체만 담을 수 있는 이유, 빠른 열거(for in), 정렬(sortedArrayUsingComparator), 경량 제네릭 NSArray<NSString *>
- 09프로토콜과 카테고리 - 기존 클래스 넓히기
@protocol 과 @required·@optional, 델리게이트 패턴, 카테고리로 메서드 추가, 클래스 확장(익명 카테고리)으로 비공개 프로퍼티
- 10블록 - 값으로 다루는 코드 조각
블록 문법(^), typedef 로 블록 타입 이름 짓기, 변수 캡처와 __block, 블록 속 self 순환 참조와 weakSelf, enumerateObjectsUsingBlock
- 11오류와 파일 - NSError 패턴
NSError ** 출력 매개변수 관례, 반환값 먼저 확인하기, NSException 은 프로그래머 실수용, NSFileManager, 파일 읽고 쓰기(stringWithContentsOfFile·writeToFile), 임시 폴더 경로
- 12완성 프로젝트 - 사내 도서 대출 관리
클래스 설계(도서·회원·대출 장부), 델리게이트로 연체 알림, 대출 기록 파일 저장·불러오기, 보고서 출력, Swift 에서 이 코드를 부를 때(브리징 헤더·nullability)
이 책은 Devin.KR 원고를 참조합니다. 원고의 원래 주소와 저작자 표기를 유지하며 같은 글을 다시 등록하지 않습니다. 수정된 원고는 읽기 화면에서 재검수 상태를 확인할 수 있습니다.