문제

현재 특정 메시지를 가로 채고 누구에게도 전달하지는 않지만 이러한 방법은 실제로 존재하지 않으므로 누구에게나 전달하지 못하는 NSProxy 서브 클래스에서 작업하고 있습니다.그리고 여기에는 문제가 발생합니다. 분명히 컴파일러가 누락 된 메소드 구현에 대해 불평하기 시작하고 그만 중지하는 방법을 알아낼 수 없으므로 인터페이스에 스텁 메소드를 추가하여 메소드를 종료 할 수 있으므로 컴파일러가 작동하지 않습니다.임의적 인 형성이 있고 앞으로도 그들을 알지 못한다./ a> 프로젝트).

이상적으로 나는 컴파일러 에게이 특정 수업을 전혀 검사하는 방법을해서는 안된다는 것을 알려주고 싶지만, 이는 오히려 불가능한 것처럼 보이는 것처럼 보이지 않을 것입니다.전체 프로젝트 / 파일의 모든 경고에 대해 컴파일러를 종료하려면!)

도움이 되었습니까?

해결책

스위치 문은 정말로 임의의 길이가 아니며 임의의 길이를 가질 수 있습니다.광범위한 길이의 경우 컴파일러의 혜택을 위해 앞으로 나아갈 수 있으며 (그리고 오류 검사를받을 수 있습니다. 방금 경고를 해제하면하지 않을 것입니다).예 :

typedef void (^ObjCCaseBlock)();

@interface NSObject ()
- (id)switch;
- (void)case:(NSString*)a :(ObjCCaseBlock)b;
- (void)case:(NSString*)a :(ObjCCaseBlock)b case:(NSString*)a :(ObjCCaseBlock)b;
- (void)case:(NSString*)a :(ObjCCaseBlock)b case:(NSString*)a :(ObjCCaseBlock)b case:(NSString*)a :(ObjCCaseBlock)b;
@end
.

일어날 가능성이있는 많은 수준의 수준을 반복합니다 (그리고 문제가 발생하면 수준을 추가 할 수 있습니다).조금 지루하지만 어렵지는 않습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top