Objective-C는 2.0에서 가비지 콜렉션 기능이 추가되었지만 이 기능은 Leopard에서만 사용이 가능하다.
해서, Tiger등 Leopard 이하의 버젼에서도 가동할 수 있는 어플리케이션을 만들기 위해서는 수동으로 메모리를 관리해야만 한다. 이에 대한 간단한 정리.
Objecrive-C의 메모리 관리
그 외에, 아래 링크에서 실질적인 소스코드의 샘플과 주의점을 확인할 수 있다.
http://www.stepwise.com/Articles/Technical/2001-03-11.01.html
Archive for January, 2008
메모리 관리 : Objective-C의 문법설명
Posted in Objective-C, tagged Objective-C on January 28, 2008 | 1 Comment »
Objective-C 2.0의 문법을 적용할 것인가에 대한 검토
Posted in Objective-C 2.0, Strategy, tagged Development, Strategy on January 18, 2008 | Leave a Comment »
Objective-C 2.0의 문법을 사용한 어플리케이션은 아래와 같은 제약을 가지게 된다.
- 개발환경은 Leopard로 한정됨.
- 빌드 시에는 런타임의 버전을 설정할 수 있지만 이 경우에도 Objective-C 2.0의 문법을 사용한 경우에는 Leopard 이전의 버젼을 지정할 경우, 에러가 발생한다.
추가로, 가베지콜랙션을 사용할 경우 이러한 제약사항은 증가된다. 런타임에서의 가베지콜렉션의 사용여부에 대해 필수, 서포트, 서포트 안함의 3가지 옵션이 있는데, 이것이 각각 가베지콜렉션을 [...]
Mac Application의 시장성
Posted in marketing, tagged market on January 15, 2008 | Leave a Comment »
오늘의 키노트를 보면 전체 맥 중에서 20퍼센트가 레오파드로 업그레이드했다고 한다. 그 얘긴, 어플리케이션을 레오파드 이전의 버젼과 호환성이 있게 만들지 않으면 전체 맥 시장에서도 20퍼센트를 상대해야 한다는 얘기가 된다.
더 자세한 숫자는 내일 키노트의 영상이 공개되면 다시 정리할 예정.
Protocol: Objective-C 2.0 의 새로운 기능
Posted in Objective-C 2.0, tagged Objective-C on January 15, 2008 | Leave a Comment »
Protocol의 문법에 대해서는 이미 설명한 바 있지만 Objective-C 2.0 에서 일부 개선이 되었다.
Objective-C 1.0에서는 클래스는 프로토콜에 선언된 메소드를 모두 구현할 필요가 있었다. 하지만 Objective-C 2.0에서부터는 필수 메소드와 선택적인 메소드를 선언할 수 있다. 아래에 소스코드의 예를 든다.
@protocol MyProtocol
- (void)requiredMethod; // 디폴트는 @required
@optional // 선택적 메소드
- (void)anOptionalMethod;
- (void)anotherOptionalMethod;
@required // 필수 메소드
- (void)anotherRequiredMethod;
@end
Fast Enumeration : Objective-C 2.0의 새로운 기능
Posted in Objective-C 2.0, tagged Objective-C on January 15, 2008 | Leave a Comment »
Objective-C 2.0에서는 콜랙션류의 클래스에 보다 간단한 문법의 기술로 접근할 수 있게 되었다.
이하에 그 기술예를 정리.
Fast Enumeration Summary
Protocol : Objective-C의 문법설명
Posted in Objective-C, tagged Objective-C on January 10, 2008 | 1 Comment »
Objective-C에는 Protocol이란 문법요소가 있다. 이건 쉽게 말하면 자바의 인터페이스와 같은 개념이다.
아래에 프로토콜의 간단한 설명을 링크.
Objective-C Protocol Summary
참고로, 이 프로토콜은Objective-C 2.0이 되면서 약간 개선되었다.
그에 대해선 별도 기술 예정.
Extension : Objective-C 2.0의 새로운 기능
Posted in Objective-C 2.0, tagged Objective-C on January 8, 2008 | Leave a Comment »
Objective-C 2.0에서 새로이 추가된 기능으로 익명의 카테고리와 같은 역활을 한다. 기존의 카테고리가 컴파일시의 체크(Validation)기능이 없었던 것에 비해 컴파일 시에도 완전한 메인 클래스로써 체크가 가능하다. 카테고리와의 차이점은 아래와 같다.
카테고리명을 기술하지 않고 공란으로 남겨둔다.
확장에서 선언된 메소드는 메인 클래스의 구현파일(@implementation 과 @end 의 사이)에 정의되어야 한다.
확장이 적용된 소스의 예는 아래와 같다.
@interface Card ( )
- (int) methodP;
@end
@implementation Card
- (int)methodP{
…
}
…
@end
Objective-C에는 있지만 자바에는 없는 개념인 Category를 간단히 설명.
Posted in Objective-C, tagged Objective-C on January 8, 2008 | Leave a Comment »
Objective-C에는 있지만 자바에는 없는 개념인 Category를 간단히 설명.
이 설명은 Objective-C 1.0(Leopard이전의 버전)을 기준으로 하고 있다.
Objective-C 2.0에서 추가 및 강화된 기능(Extension)에 대해서는 별도 정리할 예정.
Objective-C Category Summary
RMS?
Posted in Idea, tagged Idea on January 8, 2008 | Leave a Comment »
내가 다루는 여러 정보의 파편들-여기서는 데이터라고 하자-은 대부분 그 크기가 작다.
내가 입수하는 정보들은 대부분의 경우 단편적으로 제공되는 것이 아니라 묶음의 형태로 제공된다. 온라인의 경우 파일, 웹페이지, 오프라인의 경우 책, 리포트, 잡지 등이 바로 그런 것들이다.
하나의 대상에 대해 학습하기 위해 난 이러한 데이터들을 수집하고 이를 읽는다. 각각의 묶음들은 스스로의 구조와 데이터를 가지고 있다. 즉, 책은 책대로, [...]
Content Management Perfect Guide
Posted in Books, tagged Books on January 8, 2008 | Leave a Comment »
이하 책 내용 중 일부 요약.
컨텐츠 = 데이터 + 메타데이터
데 이터와 컨텐츠(정보)는 다른 것이라는 점을 강조하면서, 컴퓨터는 데이터는 다룰 수 있지만 컨텐츠를 다루기 위해서는 그 컨텐츠를 설명하는 데이터가 있어야 한다고. 이것이 바로 메타데이터. 컴퓨터는 메타데이터를 통해 해당 컨텐츠의 종류를 알고, 어떻게 다루어야 할지를 안다. 즉, 메타데이터는 컨텐츠와 컴퓨터 사이의 중개자. 메타데이터든, 컨텐츠이던 데이터로 이루어진 것은 [...]