Objective-C 2.0의 문법을 사용한 어플리케이션은 아래와 같은 제약을 가지게 된다.
- 개발환경은 Leopard로 한정됨.
- 빌드 시에는 런타임의 버전을 설정할 수 있지만 이 경우에도 Objective-C 2.0의 문법을 사용한 경우에는 Leopard 이전의 버젼을 지정할 경우, 에러가 발생한다.
추가로, 가베지콜랙션을 사용할 경우 이러한 제약사항은 증가된다. 런타임에서의 가베지콜렉션의 사용여부에 대해 필수, 서포트, 서포트 안함의 3가지 옵션이 있는데, 이것이 각각 가베지콜렉션을 [...]
Archive for the ‘Objective-C 2.0’ Category
Objective-C 2.0의 문법을 적용할 것인가에 대한 검토
Posted in Objective-C 2.0, Strategy, tagged Development, Strategy on January 18, 2008 | Leave a Comment »
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
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 2.0의 변경된 부분
Posted in Objective-C 2.0, tagged Objective-C on January 8, 2008 | Leave a Comment »
Leppard와 동시에 Objective-C도 2.0으로 업그레이드 되었다. 구체적으로 변경된 내용은 다음과 같다.
- Protocols and categories
- Fast Enumaration
- Garbage Collection
- Properties 의 도입
변경내용의 대부분은 개발생산성을 향상하기 위한 것들이다. 같은 처리를 기술하기 위한 기술내용이 그만큼 더 적어졌다. 특히 Garbage Collection의 도입에 의한 메모리 관리의 자동화와 Properties의 도입에 따른 Setter/Getter 코드의 자동생성은 피부에 와 닿는 개선점들이다.
각각의 변경내용의 상세에 대해서는 [...]