programing

총 열거 항목 수 가져오기

cafebook 2023. 10. 20. 14:21
반응형

총 열거 항목 수 가져오기

런타임에 열거형으로 정의된 총 항목 수를 얻을 수 있습니까?

이 질문과 거의 동일한 질문이지만, 그 질문은 C#과 관련된 것이고, 제가 알 수 있는 한, 목표-C에서 제공되는 방법은 작동하지 않을 것입니다.

enum는 일반-구-C 타입이므로 동적 런타임 정보를 제공하지 않습니다.

한 가지 대안은 열거의 마지막 요소를 사용하여 카운트를 표시하는 것입니다.

typedef enum {
    Red,
    Green,
    Blue,
    numColors
} Color;

전처리기를 사용하면 열거형에 값을 추가하는 성가신 '핵' 없이 이를 달성할 수 있습니다.

#define __YourEnums \
YourEnum_one, \
YourEnum_two, \
YourEnum_three, \
YourEnum_four, \
YourEnum_five, \
YourEnum_six,

typedef enum : NSInteger {
__YourEnums
}YourEnum;

#define YourEnum_count ({ \
NSInteger __YourEnumsArray[] = {__YourEnums}; \
sizeof(__YourEnumsArray)/sizeof(__YourEnumsArray[0]); \
})

언급URL : https://stackoverflow.com/questions/1469358/getting-total-number-of-enum-items

반응형