* iPhone에서의 상속은 거의 모두 NSObject 또는 NSProxy로부터 받는다
* id 타입이란 일반 C 코딩에서의 "주소"와 거의 같은 개념이다.
* 실행 중간의 디버깅 및 값 확인은 NSLog를 써서 콘솔 창에서 확인하는 것이 좋다.
* 유저가 만드는 클래스는 크게 2가지 뿐.
- 데이터 모델
(구조체)
- 상위로부터 상속받아 사용하는 클래스
* delegate는 상위 클래스나 SDK에 구현되어 있는 기능을 빌려와서 사용할 때 쓰는 것. 거의 대부분은 self(C++ 에서는 this)를 통해 자신을 참조하게 하여 사용한다.
* 상위 클래스의 멤버와 같은 이름의 멤버를 하위 클래스에서 선언, 또는 재정의(오버라이딩)하면 상위 클래스의 원래 멤버가 가려져서 부를 수 없게 되므로, 자신이 정의한 메소드는 this를 이용해 호출하고 상위 클래스의 원래 멤버는 super를 이용해서 호출해야 한다.
* 대개 아이폰 SDK에 구현되어 있는 기본적 기능을 이용할 경우(메모리나 화면에 관련된 처리) 이러한 super를 이용해 상위 클래스의 멤버를 호출해 오버라이딩을 사용한다.
* typedef
- 자료형에 별명을 붙일 때 사용하는 예약어.
- typedef [대상자료형] [별명으로 사용할 이름];
* 전처리기(Preprocessor)
- 일반적 C와 같음
- #으로 시작함
- 꼭 오브젝티브 C의 문법일 필요는 없음
- 끝에 ; 표시를 쓰지않음
* #define
- 상수값에 심벌명을 부여한다
- 연산자의 재정의도 가능. 즉 #define AND &&, 또는 #define SAME == 와 같은 것도 가능하다.
* 매크로 함수
- #define 문을 사용해서 수식 을 대치함.
- 실제의 함수는 아니지만 마치 함수처럼 사용할 수 있기 때문에 매크로 함수라고 부른다.
- 매크로명을 모두 대문자로 써서 구분하는 것이 일반적.
* C의 배열은 사용가능하지만 가능한 한 사용하지 않는 것이 좋다.
- 경계가 없다. 첨자가 3인 배열에서 -1이나 10도 넣거나 읽을 수 있다.
- 값을 잘못 넣으면 기존에 있는 변수의 값을 건드려 바꿔버릴 수도 있다.
* CGPoint, CGRect, CGSize
CGPoint pt;
pt.x = 10;
pt.y = 20;
CGPoint pt = {10, 20};
CGPoint pt = CGPointMake(10, 20);
CGRect
{
CGPoint origin;
CGSize size;
}
'프로그래밍 > Objective-C' 카테고리의 다른 글
중앙정보학원 아이폰과정 5일차 - 2010년 7월 9일 (0) | 2010.07.09 |
---|---|
중앙정보학원 아이폰과정 4일차 - 2010년 7월 8일 (0) | 2010.07.08 |
중앙정보학원 아이폰과정 2일차 - 2010년 7월 6일 (0) | 2010.07.06 |
중앙정보학원 아이폰과정 1일차 - 2010년 7월 5일 (0) | 2010.07.05 |
한글 인코딩 변경과 구글날씨 RSS (0) | 2010.06.25 |