본문 바로가기
[도서 목차 정리] ] OS X 구조를 이해하면서 배우는 Objective-C [도서 목차 정리] ] OS X 구조를 이해하면서 배우는 Objective-C [Objective-C] 객체 기반 소프트웨어 작성 [Objective-C] Objective-C 프로그램 [Objective-C] 상속과 클래스 [Objective-C] 객체 형식과 동적 결합 [Objective-C] 참조 카운터를 사용한 메모리 관리 방법 [Objective-C] 선언 프로퍼티 [Objective-C] NSObject 클래스와 런타임 시스템 [Objective-C] Foundation 프레임워크의 중요 클래스 - NSString, NSMutableString [Objective-C] Foundation 프레임워크의 중요 클래스 - NSData, NSArray, NSSet [Objective-C] Founda.. 2018. 1. 13.
[Objective-C] 키-값 코딩 [Objective-C] 키-값 코딩 출처 : OS X 구조를 이해하면서 배우는 Objective-C Chap 20. 20.1. 키-값 코딩 개요 * 20.1.1. 키-값 코딩이란 -변수접근 방법 중, @public 으로 해서 인스턴스 변수에 접근시키는 방법도 있으나, 그다지 추천하는 방법은 아니다. -키-값 코딩(key-value coding)은 객체가 지닌 정보를 나타내는 문자열을 키로 사용해서 간접적으로 그 정보에 접근하는 구조이다.기본적으로 접근자 메서드가 선언 프로퍼티 또는 인스턴스 변수라면 그 이름을 문자열로 지정해서 접근할 수 있는 매우 강력한 기능이다 -키-값 코딩의 접근이 간접적이라는 것은 다음 두 가지 이유에서다. 1. 키가 되는 문자열은 실행 중에 결정해도 된다.2. 프로퍼티에 실제 .. 2018. 1. 11.
[Objective-C] 객체 복사와 저장 [Objective-C] 객체 복사와 저장출처 : OS X 구조를 이해하면서 배우는 Objective-C Chap 12. Notice : 정리자(돼지왕 왕돼지)가 remind 하고 싶은 내용이나 모르는 내용 기반으로 정리하는 것이기 때문에 구체적인 내용은 책을 사서 보시기를 권장드립니다. 13.1. 객체 복사 * 13.1.1. 얕은 복사와 깊은 복사 * 13.1.2. 존이란 -Cocoa 에서 이전에는 동적으로 확보된 메모리 관리를 할 때 존(zone)이라고 부르는 영역을 이용했다.현재(Objective-C 2.0 또는 가비지 컬렉션을 사용할 때) 사용하지 않지만 copyWithZone: 과 같은 함수들의 인수 형태로 형식적으로 남아 있다. -동적으로 메모리 영역이 확보되는 힙(heap)영역에는 주소 공간.. 2018. 1. 5.
[Objective-C] 추상 클래스와 클래스 클러스터 [Objective-C] 추상 클래스와 클래스 클러스터 출처 : OS X 구조를 이해하면서 배우는 Objective-C Chap 11. Notice : 정리자(돼지왕 왕돼지)가 remind 하고 싶은 내용이나 모르는 내용 기반으로 정리하는 것이기 때문에 구체적인 내용은 책을 사서 보시기를 권장드립니다. 11.1. 추상 클래스 * 11.1.1. 추상 클래스란 -Objective-C 에는 인스턴스를 생성할 수 있는 일반 클래스와 추상 클래스를 구별해서 정의하는 특별한 언어적 구조가 없다.Objective-C 에서 추상 클래스라는 용어는 개념적으로만 존재한다. -다른 객체지향 언어는 virtual, abstract 등의 키워드를 사용해서 추상 클래스를 나타내는 수단이 있다.Objective-C 에서는 추상 클.. 2018. 1. 3.
[Objective-C] Foundation 프레임워크의 중요 클래스 - NSDictionary, NSValue, NSNumber, NSURL [Objective-C] Foundation 프레임워크의 중요 클래스 - NSDictionary, NSValue, NSNumber, NSURL 9.5. 사전 클래스 * 9.5.1. 사전 객체 개요 -키와 값 짝을 엔트리(entry)라고 부른다.키도 값도 객체를 지정하는데 키에는 보통 문자열을 지정하는 편이다. -키는 그 사전 객체 속에서는 유니크이어야만 한다.메서드 isEqual: 로 비교해서 같다고 평가되는 키를 가진 엔트리가 여러 개 있어선 안 된다.키는 nil 도 안 된다. -값 객체에는 nil 이외의 임의의 객체를 지정할 수 있다.숫자값과 좌표 등 자료형을 사전에 포함하고 싶을 때는 나중에 오는 NSNumber, NSValue 를 사용해야 한다.또한 비어있는 것을 나타내고 싶을 때는 NSNull .. 2018. 1. 1.
[Effective Objective-C] #36 retainCount 를 사용하지 말라 [Effective Objective-C] #36 retainCount 를 사용하지 말라 출처 : Effective Objective-C -NSObject 프로토콜에 정의된 이 메서드로 객체의 현재 리테인 수를 얻을 수 있다.- (NSUInteger)retainCount -그러나 ARC 는 이 메서드를 폐기했다.실제로 ARC 를 사용하면서 retain, release, autorelease 를 호출하는 것처럼 retainCount 를 호출하면 컴파일러가 에러를 던질 것이다.이 메서드가 공식적으로 폐기 되었는데도 많은 사람들이 잘못 이해하고 있다. -ARC 를 사용하지 않는다면 이 메서드를 사용할 수 있고 컴파일 에러도 받지 않을 것이다.그렇기 때문에 이 메서드를 사용하지 말아야 하는 이유를 반드시 알아야.. 2017. 9. 30.
[Effective Objective-C] #3 메서드보다는 같은 일을 하는 리터럴 문법을 사용하라 [Effective Objective-C] #3 메서드보다는 같은 일을 하는 리터럴 문법을 사용하라 출처 : Effective Objective-C -NSString, NSNumber, NSArray, NSDictionary 인스턴스 모두 리터럴 문법을 지원한다. -리터럴 문법을 사용하면 소스 코드 크기가 줄고 코드가 읽기 쉬워진다. 리터럴 숫자 -정수, 실수, 불린 값을 Objective-C 로 감쌀(wrapping) 필요가 있다.이는 숫자 타입을 다룰 수 있는 NSNumber 클래스를 이용해 할 수 있다. -리터럴을 쓰지 않으면 다음과 같이 생성한다.NSNumber *number = [NSNumber numberWithInt:1]; 그러나 리터럴을 사용하면 이렇게 간단하다.NSNumber *numbe.. 2017. 7. 20.
[iOS Study] NSUserDefaults [iOS Study] NSUserDefaults 출처 : 아론 힐리가스의 iOS 프로그래밍 -사용자의 환경설정(preferences) 을 가진 plist 가 각 앱 번들 안에 저장된다.개발자는 NSUserDefaults 클래스를 사용하여 이 plist 에 접근할 수 있다.또한 앱의 환경설정 plist 는 설정 앱에서 수정할 수 있다.이를 허용하려면 앱 안에 설정 번들(settings bundle)을 만들어야 한다. -사용자의 기본 설정(default) 집합은 키-값 쌍의 모음이다.키는 기본 설정의 이름이고 값은 키에 해당하는 사용자가 선호하는 것을 나타내는 데이터이다.공유 사용자 기본값 객체에 그 키의 값을 요청한다.이것은 딕셔너리에서 객체를 가져오는 것과 다르지 않다. NSUserDefaults *de.. 2016. 3. 27.
[iOS Study] 저장, 읽기, 앱 상태 [iOS Study] 저장, 읽기, 앱 상태 출처 : 아론 힐리가스의 iOS 프로그래밍 -여기서는 iOS 에서 파일 시스템을 통해 읽고 쓰는 데 필요한 개념과 기법을 배운다. -아카이빙은 iOS 에서 모델 객체를 저장하는 가장 흔한 방법 중 하나이다.객체의 아카이빙은 그 객체의 프로퍼티들을 모두 기록하고 파일시스템에 그 내용을 저장하는 것을 포함한다.언아카이빙(unarchiving)은 아카이브한 데이터로부터 객체를 다시 만든다. -인스턴스들을 아카이브하고 언아카이브해야 할 클래스들은 NSCoding 프로토콜을 반드시 따라야 하며, 두 필수 메소드 encodeWithCoder: 와 initWithCoder: 를 구현해야 한다. -encodeWithCoder: 메시지를 받으면, 전달된 인자인 NSCoder .. 2016. 3. 7.
반응형