2012-04-13 4 views
1

C#으로 상당한 양의 경험을 한 후에 객관적 - c를 배우고 있습니다. 내가 아쉬워하는 것 중 하나는 확장 프로젝트를 모든 프로젝트에서 참조 할 수있는 별도의 프로젝트에 작성하는 기능입니다.C# 스타일 클래스 확장 목표 -c

Visual Studio에서
public static bool IsShortString(this string s) { 
    return s.length <= 3; 
} 

, 난 그냥 참조 using을 추가 할 수 있고, 빵 myString.IsShortString()은 오히려 쓸모없는, 방법이 될 것이다 : 여기에 몇 가지 순진 C#을입니다.

그래서 정적 라이브러리를 작성하려고하지만 거기에서 내가 어디로 갈 것인지 잘 모르겠습니다.

이 정적 라이브러리를 작성하면 #import 지시문을 사용하여 라이브러리의 다양한 파일에서 모든 메소드를 사용할 수 있습니까, 아니면 각 헤더를 개별적으로 가져와야합니까?

답변

1

당신이 찾고있는 것을 카테고리라고하며 기존 클래스에 몇 가지 추가 메소드를 추가 할 수 있습니다. 참조 확인 http://developer.apple.com/library/ios/#documentation/cocoa/conceptual/objectivec/chapters/occategories.html

사용자가 만든 범주가 ​​포함 된 정적 라이브러리 인 자체 툴킷을 만들 수 있습니다. 일반적인 방법은 lib 디렉토리에있는 모든 헤더에 대한 수입을 포함하는 하나 개의 헤더 파일을 만드는 것입니다, 그래서 그것을 사용하는 경우 -all_load-ObjC을 포함하는 것이 중요 범주를 포함하는 정적 라이브러리를 생성 할 때, 당신은 단지, 또한

#import "libName.h" 

을 링커 플래그를 프로젝트에 추가하십시오.

1

objective-c에서 가장 가까운 것은 categories입니다.

This 또한 카테고리에 대한 훌륭한 자습서입니다.