소프트웨어/Objective-C
프로 오브젝티브-C 디자인 패턴
CHAPTER 2 사례연구: 아이폰 앱 설계 앱의 설계를 하는데 중요한 세 가지 일1. 아이디어의 개념화2. 룩앤필(look-and-feel) 설계3. 앱 아키텍처 설계 여러가지 디자인 패턴(아이폰에서 주로 사용되는 것들)미디에이터컴포지트비지터프록시메멘토커맨드옵저버 CHAPTER 3 프로토타입 '복제(clone)' 오퍼레이션에 적용하는 패턴을 프로토타입(prototype)아라고 한다. 같은 주조 틀을 사용해서 제품을 생산하는 것이 복제인데, 이때 주조 틀의 근간이 되는 것이 프로토타입이다. 정의프로토타입 인스턴스를 사용해서 생성할 여러 종류의 객체를 기술하고 해당 프로토타입을 복제하여 새로운 객체를 생성한다. 사용하는 상황1) 객체의 타입이나 구체적인 생성 방법을 클라이언트 코드와는 독립적으로 유지하면서..
effective objective-c 2.0
1장 오브젝티브-C에 익숙해지기 아이템 1 오브젝티브-C의 기원과 친숙해지라 메시징 구조가 함수 호출과 다른 가장 큰 부분은 런타임이 실행할 코드를 정한다는 것이다. 모든 오브젝티브-C 객체는 항상 스택이 아닌 힙 공간에 할당된다.(오브젝티브-C 객체는 스택에 할당하는 것이 허용되지 않는다.)(NSString *someString; vs NSString someString)(사견 : 이건 클래스 클러스터 이야기인듯함)(변수의 포인터 변수는 스택에, 인스턴스는 힙에 할당) 오브젝티브-C에서 *을 사용하지 않고 스택을 사용하는 것은 오브젝티브-C를 참조하지 않는다. 아이템 2 헤더에 헤더를 포함하는 것을 최소화하라 '포워드 클래스 선언'(전방 선언)을 이용해서 헤더파일간의 참조를 막는다.헤더간 서로 참조를 ..
Objective-C 기초 (outdate된 자료 일부 포함)
Object C 버전 정보 ISA에 대해서Objective-C 런타임 클래스 정보 objc.h에 관련 클래스가 나와있다.런타임 라이브러리의 내부에는 다음과 같은 Objective-C의 클래스 (objc_class)와 클래스로부터 생선된 객체 (objc_object)를 표현하기 위한 C의 구조체 코드가 있다.typedef struct objc_class *Class;typedef struct objc_object { Class isa;} *id; 모든 objc_object 들은 isa라고 정의된 클래스 변수를 갖고 있고 Objective-C 런타임은 이 isa 포인터를 이용하여 해당 객체가 어떤 클래스인지, 그리고 이 객체가 명령 메시지를 받았을 때 셀렉터에 응답을 하는지를 확인한다. https://www..