내 클래스 헤더가 "외부"로 정의 된 다른 헤더에서 선언 된 프로토콜을 찾을 수 없습니다. 구조는 다음과 같다 :프로토콜 시작 ObjC
x1.h 프로토콜
x2.h 수입을 갖는다 x1.h
그 x3.h가없는 x2.h
x3.h 수입 프로토콜을 찾으십시오. 내가 중복
오류가 감소 x3.h에 x1.h 가져올 피하려는
는
나는 실행 상태를 얻었다 "문제 유형을 예상 구문 분석". 하지만 x3.m에서 x2.h로 #import를 복사 한 후 알 수없는 유형 및 구문 분석 문제로 100 개의 오류가 나타납니다. 예를 들어 임의의 클래스에서도. (y42.m)은 오류입니다. 이상한 것은 클래스 y42.m은 x3.h를 가져오고 x3를 모른다는 것입니다.
읽어 주셔서 감사합니다.
더 많은 정보 : x1.h 내용
@protocol aDelegate <NSObject>
- (void)callback;
@end
x2.h 내용
#import "x1.h"
typedef enum {
kOne,
kTwo,
kThree,
}States;
x3.h 내용
#import "x2.h"
@interface x3 : NSObject <aDelegate>
{
States anyState;
}
@end
상태를 알 수 및 aDelegate를 알 수 . 그 이유도 알려지지 않았습니다.
솔직히 나는 정말로 이해하지 못합니다. 당신은 x1이라는 프로토콜 선언을 찾지 못했다고합니다.h는 "프로토콜을 가지고있다."그리고 x1.h를 x2.h에 포함시킴으로써 문제를 해결할 수 있다고 믿는다 (좋은 이유 때문에 피하기를 원한다). 하지만 프로토콜이 x1.h에 있다면, 왜 찾지 못하겠습니까? –
컴파일러 오류 및 코드를 제공하여 사용자가 수행하는 작업을 정확하게 볼 수 있습니다. – nil