'아이팟'에 해당되는 글 3건

  1. 2009.03.15 물건너간 아이팟 터치-가격인상이 장난이 아니네... 2
  2. 2009.03.11 불법 애플 앱스토어 등장
  3. 2009.03.09 Objective-C
잡동사니2009. 3. 15. 01:44
이글의 작성 의도는 [이곳]을 참조하라.
아이팟 터치의 가격이 엄청나게 올라가 버렸다. 쩝

연말 정산 환급 받으면 MB881 한대 사고, 아이팟 터치 8G 한대 사보려 했던 나의 꿈은, 연말 정산 환급이 늦어 지면서 산산히 부서져 버렸다.
맥북은 가격 오르지 않겠지...
제발... 4월 초까지만 기다려 다오...

최초 작성일 : 2009년 3월 15일 / 최종 수정일 : 2009년 3월 15일

Posted by 고처리
잡동사니2009. 3. 11. 00:53
이글의 작성 의도는 [이곳]을 참조하라.
다음 링크 참조.

역시... 뚫리게 되어 있고, 시장은 커지게 되어있고... ^^


최초 작성일 : 2009년 3월 11일 / 최종 수정일 : 2009년 3월 11일
Posted by 고처리
Mac OS X/Cocoa2009. 3. 9. 20:38
이글의 작성 의도는 [이곳]을 참조하라.

C/C++과 MFC에 너무 오랜 시간 노출된 탓일까?
아니면 이제 나이가 들어서 이해력이 많이 떨어진 것일까?
어쨌든 Objective-C는 한두시간만 보면 알 수 있다는 다른 사람들의 글을 보면서, 나 자신에 대한 성찰을 한번 해보고 있다. ^^

Objective-C는 FSF(Free Software Foundation)의 GNU C 컴파일러의 일부분으로 공개된 표준 컴파일러이다. Cocoa는 Objective-C로 개발되었고, Cocoa 프로그래밍은 대부분 Objective-C로 가능하다.

"@" 예악어

Objective-C에서 새로 추가된 예약어.
  • @interface ~ @end
    *.h 파일 내에 선언되는 클래스의 시작과 끝을 지정

  • @implementation ~ @end
    *.m 파일 내에서 클래스이 구현 부분의 시작과 끝을 지정

  • @"string"
    아스키 문자열을 NSString 문자열로 변환. 2바이트 문자는 UTF8로 처리해야 함. 어떻게 하는지는 아직 모름.

클래스 선언




메서드 선언

함수 선언 앞에는 - 또는 +가 붙는다.

- : 인스턴스 함수
+ : 클래스 함수. static 함수



메서드 호출(메시지 보내기)

[객체명 메시지명]의 형태로 호출한다. 메시지명은 메서드를 의미한다. 메서드를 호출하기 위해서는 객체명의 그 객체가 가지고 있는 메서드명을 적어 주는데, 이렇게 메서드를 호출하는 것을 "메시지를 보낸다"라고 표현한다.

Cocoa의 클래스중 하나인 NSMutableArray를 이용한 예를 보자.

[NSMutableArray alloc]
NSMutableArray 클래스의 alloc 메시지를 보낸다. alloc 메시지는 NSMutableArray 클래스의 객체를 생성한 후, 그 포인터를 반환한다.

1 : NSMutableArray *foo;
2 : foo = [NSMutableArray alloc];
3 : [foo init];

1 : NSMutableArray 클래스의 포인터 변수 선언
2 : NSMutableArray 클래스에 alloc 메시지를 보내, NSMutableArray 클래스의 객체를 생성하고, 포인터를 반환 받는다.
3 : NSMutableArray 클래스 객체인 foo에 init 메시지를 보내어 객체를 초기화한다. 이때 메시지를 받는 것은 NSMutableArray 클래스가 아닌 foo 객체가 된다. 이런 상태를 'foo는 init 메시지의 receiver이다'라고 하고, 메시지는 selector라고 부른다.

위의 코드를 아래와 같이 작성할 수도 있다.

NSMutableArray *foo;
foo = [[NSMutableArray alloc] init];

메시지 호출 시 인자의 전달은 다음과 같이 한다. foo 객체의 addObject 메시지를 호출하면서 인자로 bar를 전달한다.
[foo addObject:bar]

메시지에 인자를 전달하는 경우 "셀렉터이름:인자이름"의 형태로 사용한다.

두 개 이상의 인자를 전달하는 경우에는 다음과 같이 한다.
[foo insertObject:bar atIndex:5]

셀렉터에 전달되어 지는 두 번째 인자부터는 "인자이름:값"의 형태로 값을 전달한다.

사실 이 문법은 아직 그 편리함을 느끼지 못하는 부분이다. 헷갈리기만 한다.


Protocol




Category




참고 자료

일단 부족한 기억력을 보충하기 위해 링크부터 걸고 보자. 자료를 공개해 주신 모든 분들께 감사... 꾸벅






최초 작성일 : 2009년 3월 9일 / 최종 수정일 : 2009년 3월 10일
Posted by 고처리