본문 바로가기
[Objective-C] 블록 객체 [Objective-C] 블록 객체 출처 : OS X 구조를 이해하면서 배우는 Objective-C Chap 14. Notice : 정리자(돼지왕 왕돼지)가 remind 하고 싶은 내용이나 모르는 내용 기반으로 정리하는 것이기 때문에 구체적인 내용은 책을 사서 보시기를 권장드립니다. 14.1. 블록 객체란 * 14.1.1. C 컴파일러와 GCD -다른 프로그래밍 언어에서는 클러져 (closure)라고 하는 기능에 해당한다. -Mac OS X 10.6 및 iOS 4 부터 멀티 코어에서 스레드가 더 효율적으로 동작하도록 그랜드 센트럴 디스패치(GCD : Grand Central Dispatch)라는 구조 도입 * 14.1.2. 블록 객체 정의 -^ 부터 인수열, 본체의 마지막 괄호가 나올 떄까지의 블록 객체.. 2018. 1. 6.
[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 12. Notice : 정리자(돼지왕 왕돼지)가 remind 하고 싶은 내용이나 모르는 내용 기반으로 정리하는 것이기 때문에 구체적인 내용은 책을 사서 보시기를 권장드립니다. 12.1. 프로토콜 개념 * 12.1.1. 프로토콜이란 * 12.1.2. 객체 프로토콜 -어떤 프로토콜을 채용해서 그 메서드를 모두 구현한 클래스는 해당 프로토콜에 적합(conform)하다(또는 준거한다)라고 한다.어떤 프로토콜에 적합한 클래스를 상속한 서브 클래스도 그 프로토콜에 적합하다.또한 클래스가 어떤 프로토콜에 적합할 때는 그 인스턴스에 대해서도 해당 프로토콜에 적합하다고 표현할 수 있다. 12.2. Objective.. 2018. 1. 4.
[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] 카테고리 [Objective-C] 카테고리 출처 : OS X 구조를 이해하면서 배우는 Objective-C Chap 10. Notice : 정리자(돼지왕 왕돼지)가 remind 하고 싶은 내용이나 모르는 내용 기반으로 정리하는 것이기 때문에 구체적인 내용은 책을 사서 보시기를 권장드립니다. 10.1. 카테고리 선언과 정의 * 10.1.1. 카테고리란 -카테고리는 클래스와 마찬가지로 인터페이스로 선언하고, 구현 부분에 그 정의를 기술한다.단, 인스턴스 변수를 선언할 수는 없으며, 카테고리는 메서드만 포함한다.메서드는 인스턴스 메서드와 클래스 메서드 양쪽 다 가능하다. -카테고리 구현 부분에도 인스턴스 변수를 선언할 수 없다.메서드 정의에서는 그 클래스의 다른 메서드를 호출하거나 인스턴스 변수에 자유롭게 접근할 수 .. 2018. 1. 2.
[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.
[Objective-C] Foundation 프레임워크의 중요 클래스 - NSData, NSArray, NSSet [Objective-C] Foundation 프레임워크의 중요 클래스 - NSData, NSArray 9.3. 데이터 클래스 * 9.3.1. NSData -NSData 는 임의의 바이트 배열을 객체로 다루기 위한 랩퍼(wrapper) 이다. -일반적인 C 배열을 사용할 때와 비교했을 때의 장점은 객체로 추상화해서 다룰 수 있는 점,메모리 관리가 쉬운 점, Cocoa API 에서 바이트 배열을 다루는 표준이라는 점. -NSData 인터페이스는 한 번 작성되면 데이터 내용을 변경할 수 없다.데이터 내용을 나중에 변경하려면 NSMutableData 클래스를 사용해야 한다. -NSData 는 클래스 클래스터로 제공되므로 NSData 가 인스턴스의 직접 클래스가 아니라는 점, 일반 방법으로는 서브 클래스를 작성할.. 2017. 12. 31.
[Objective-C] Foundation 프레임워크의 중요 클래스 - NSString, NSMutableString [Objective-C] Foundation 프레임워크의 중요 클래스 - NSString, NSMutableString 출처 : OS X 구조를 이해하면서 배우는 Objective-C Chap 9. Notice : 정리자(돼지왕 왕돼지)가 remind 하고 싶은 내용이나 모르는 내용 기반으로 정리하는 것이기 때문에 구체적인 내용은 책을 사서 보시기를 권장드립니다. 9.1. 객체 변경 가능성 * 9.1.1. 변경 가능 객체와 불가능 객체 * 9.1.2. 변경 가능 객체 작성 -변경 불가능 객체를 변경 가능 객체로 다루고 싶을 때는 어떻게 할까?mutableCopy 메서드로 변경 가능한 복사본을 작성한다. 9.2. 문자열 클래스 * 9.2.1. 객체 상수 문자열 -문자열을 “ “ 로 둘러싸고 그 앞에 @ 를.. 2017. 12. 30.
[Objective-C] NSObject 클래스와 런타임 시스템 [Objective-C] NSObject 클래스와 런타임 시스템 출처 : OS X 구조를 이해하면서 배우는 Objective-C Chap 8. Notice : 정리자(돼지왕 왕돼지)가 remind 하고 싶은 내용이나 모르는 내용 기반으로 정리하는 것이기 때문에 구체적인 내용은 책을 사서 보시기를 권장드립니다. 8.1. NSObject 클래스 * 8.1.1. 루트 클래스의 역할 -런타임 시스템은 Objective-C 용 운영체제 같은 것으로, 객체 생성, 해제에 따른 메모리 영역 관리와 송신된 메시지에 대응하는 메서드 검색 등을 한다. -보통은 프로그램에서 런타임 시스템 기능을 직접 사용하지 않는다.이런 기본 기능은 루트 클래스인 NSObject 에 있는 메서드로 제공된다.다시 말해 루트 클래스는 런타임 .. 2017. 12. 29.
반응형