2011-09-12 9 views
0

Objective C에서 열거 형을 정의하면 모든 열거 형 값이 모든 곳에서 볼 수 있으며 전역 네임 스페이스가 막히게됩니다.Objective C에서 열거 형 값의 가시성을 제한하는 방법은 무엇입니까?

Java 형식으로 만들고 열거 형을 열거 형 이름을 통해서만 액세스 할 수 있도록하고 싶습니다.

typedef enum 
{ 
MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY, NUM_OF 
} Day; 

와 나는 단순히 MONDAY은 컴파일 오류 또는 적어도 경고 및 열거 형 값에 액세스 할 수있는 유일한 방법을 생산하고 호출이 있는지 확인하려면했다 Day.MONDAY 또는 Day::MONDAY 또는 [Day MONDAY] 나 같은 ...

Java에서 Enums 또는 Interfaces를 사용하지만 Objective-C에서이 작업을 수행 할 수 있습니까?

그렇지 않은 경우 자동 완료 팝업에서 쉽게 검색 할 수 있도록 과 같이 모든 열거 형 이름을 지정해야합니다.

답변

1

그냥 해결 방법 일 뿐이지 만 여러 메소드 (인스턴스를 만들 필요가 없도록)를 사용하여 사용자 정의 인터페이스를 만들 수 있습니다. 각 메소드는 상수를 나타냅니다.

이 방법 상수는 사용자가 요청한 경우에만 액세스 할 수 있습니다 (예 : Day.MONDAY 또는 [Day MONDAY]).

+0

C++/Java 스타일의 정적 클래스 변수는 없습니다. 맞습니까? 그 이유는 클래스 메서드 .. Thx 당신의 생각을 위해, 그것은 작동하지만, 물론 모든 메서드를 정의하는 것은 너무 많은 타이핑이 될 것입니다. – iseeall

관련 문제