2013-01-15 4 views
1

나는 형식 정의와 열거의이 유형이자동 박스 타입 정의는

- (NSArray *)displayOptions { 
    return @[@ControlDisplayOptionNone]; 
} 

하지만이 작동하지 않습니다, 심지어이 작동하지 않습니다 작동합니다

NSNumber *test = @ControlDisplayOptionNone; 

유일한 옵션은 전통적인 :

return @[[NSNumber numberWithInt:ControlDisplayOptionNone]]; 

여기에 자동 보링을 사용할 방법이 있습니까?

답변

5

괄호를 사용 : @(ControlDisplayOptionNone)

구문은 Clang documentation for Objective-C Literals에 설명되어 있습니다. 은 "박스형 열거 형"절은 말합니다 :

코코아 프레임 워크가 자주 열거를 사용하여 상수 값을 정의합니다. enum 값은 필수 요소이지만 상자 리터럴로 직접 사용할 수 없습니다 (이 옵션은 향후 '@' -prefixed Objective-C 키워드와의 충돌을 방지합니다). 대신 enum 값은 박스형 표현식 안에 있어야합니다.

+0

왜 내가이 대답을 받아 들일 5 분 만에 돌아와야 만하는지 잘 모릅니다. 그러나 우리가 여기있는 동안, 당신이 이것을 (인용문)에서 알 수있는 곳이 있습니까? 감사합니다. –

+0

@Yar 인용문이 추가되었습니다! 그래서 거기에 가면, 언젠가 Objective-C 키워드'@ ControlDisplayOptionNone'이있는 경우를 대비해 괄호가 필요합니다 :-) – benzado