2013-04-04 4 views
0

Xcode의 특정 오류를 선택적으로 끌 수 있습니까?Xcode에서 특정 오류를 끄는 방법?

는 특히, 나는 다음과 같은 오류

No visible @interface for ... declares the selector

Use of undeclared identifier..

나는이 대신 컴파일시 특정 대상에 대해 런타임에 실패 할을 해제합니다.

+2

"선언되지 않은 식별자 사용"은 정의되지 않았거나 알 수없는 유형 또는 기호를 나타내므로 절대로 *** 해제하지 말아야합니다. 게다가, 당신이 그것을 끌 수있다하더라도, 링커는 당신에게 바이너리를 만들기를 거절 할 것입니다. – CodaFi

+0

알려지지 않은 셀렉터를 사용하려면 (또는 셀렉터 검사의 안전을 피하기 위해), - [NSObject performSelector :]'를 사용하십시오. 의지에 맞게 컴파일러를 굽히려고합니다. – CodaFi

+0

소스가 있습니까? 나는 이것에 대한 구체적인 사용 사례를 가지고있다. 그렇다면 절대 불가능하다.하지만 당신이 그것을 '절대 꺼야한다'고 말할 수 있다고 생각하지 않는다. – David

답변

2

@CodaFi 메모와 마찬가지로 "신고되지 않은 식별자 사용"을 합리적으로 억제 할 수 없습니다. 컴파일러는 기호가 무엇을 나타내는 지 모르는 경우 코드를 생성 할 수 없습니다.

"보이는 @interface 선언 없음"경고를 처리하는 일반적인 방법은 방금 메서드를 선언하는 것입니다. 이 같은 NSObject 카테고리에서이 작업을 수행 할 수 있습니다

@interface NSObject (AdditionalMethods) 
- (void)someUnknownSelector; 
@end 

이것은 당신이 @optional 회원이 전에 우리가 프로토콜을 다시 작성하는 데 사용되는 방법이다. 코코아 주변에 아직도 많이 흩어져 있습니다.

경고를 표시하지 않을 수도 있지만 ARC를 혼동하므로 권장하지 않습니다. 컴파일러에게 당신이하고있는 일을 안다는 것을 알려주고, 그것이 무엇인지에 대한 몇 가지 힌트를 준다.