2012-05-12 2 views
2

각 클래스에 고유 한 카테고리를 만들어 내 자신의 메서드로 확장하려는 데이터 클래스 집합이 있습니다.같은 이름을 가진 Objective-C 카테고리

범주를 선언 할 때 각 범주마다 고유 한 이름이 필요합니까 아니면 동일한 이름을 다시 사용할 수 있습니까?

예. List 클래스와 ListItem 클래스가 있고 두 클래스 모두에서 카테고리를 원한다고 가정 해보십시오. 다음과 같이 내가 지금하고 있어요 것은 선언한다 :

을 목록 + Additions.h

@interface List (Additions) ... 

년을 ListItem + Addtions.h에서

@interface ListItem (Additions) ... 

것을 확인인가? 나는 그것의 일관되게 작동하는지 말할 수 없다. 카테고리 이름으로 간주되는 것은 무엇입니까? 그것은 "추가 항목"또는 "목록 항목 + 추가 항목"입니다.

답변

2

카테고리 이름은 List (Additions)ListItem (Additions)입니다. 따라서 두 범주는 분리되어 독립적입니다.

"ListItem + Additions"와 같은 항목은 범주를 정의하는 파일 이름에 대한 일반적인 규칙이지만 컴파일러도 런타임도주의를 기울이지 않습니다.

+0

별표 : 컴파일러 **가 ** 파일 이름을 확인합니다. 어떻게'__FILE__' 매크로가 작동합니까? –

+0

* * 파일 이름을 알고 있지만주의를 기울이지 않습니다. 그것에 대한 어떠한 결정도 기초하지 않습니다. (또한,'__FILE__' 매크로는 컴파일러가 아니라 전 처리기로 대체됩니다.) –

2

괜찮습니까? 나는 그것의 일관되게 작동하는지 말할 수 없다. 카테고리 이름으로 간주되는 것은 무엇입니까? 그것은 "추가 항목"또는 "목록 항목 + 추가 항목"입니다.

예, 괜찮습니다.

두 카테고리의 이름은 모두 Additions이지만 하나는 List의 카테고리이며 다른 하나는 ListItem의 카테고리입니다. 따라서 이름이 충돌하지 않습니다. 두 범주 선언을 같은 파일에 넣었더라도 마찬가지입니다.

관련 문제