2011-04-28 4 views
2

나는 내가 만든 UIViewController의 하위 클래스 Detail 인 아이폰 앱을 가지고 있습니다.Xcode : 내 자신의 클래스를 서브 클래 싱하는 아주 이상한 오류

서브 클래스를 Detail으로 만들어야하는데, 이것을 ActivityDetail이라고하고 싶습니다.

error: cannot find interface declaration for 'Detail', superclass of 'ActivityDetail'

그리고 이상한 일이 :

#import <UIKit/UIKit.h> 
#import "Detail.h" 

@interface ActivityDetail : Detail { 

} 

@end 

문제는 내가 나에게 이런 얘기를 컴파일러 오류를 얻고 있다는 것입니다 : 그래서 내 ActivityDetail.h 파일에 다음과 같이 썼다 나는 변경할 수 있습니다 Detail에서 UIView까지의 수퍼 클래스 (예 :), 많은 오류가 발생하여 컴파일하고 (다시 말해서) 수퍼 클래스를 Detail으로 다시 변경하면 모든 것이 정상적으로 작동합니다. 하지만 Detail 클래스로 변경하면 문제가 처음부터 다시 발생합니다 ...

어떻게 해결할 수 있습니까?

답변

8

.

헤더

#import <UIKit/UIKit.h> 

@class Detail; 

@interface ActivityDetail : Detail { 

} 

@end 

구현

#import "ActivityDetail.h" 
#import "Detail.h" 

@implementation ActivityDetail 

@end 
대신 당신은 비슷한 일을해야

이렇게하면 헤더의 모든 "수입자"가 가져 오는 모든 것을 가져 오지 않고도 헤더를 추가 클래스에 대해 "알 수 있습니다".


Here is a great reference question

@class#import의 사용에 대한 좋은 대답.

0

세부 사항이 선언 된 .h를 가져오고 있습니까?

#import "Detail.h" 
8

가져 오기 세부 정보 Dettaglio.h. 아마 컴파일러는 이탈리아어에 능통하지 않습니다.

+0

구걸을 사랑해 !!! – jini

0
제품 사양에서 # import를 "Detail.h"또는 서브 클래스 중 하나가 (당신의 세부 사항 클래스가 실제로 이름 중 하나에 따라

. 당신의 헤더 파일의 기본 재단 넘어 클래스 나 UIKit 수입을 가져올 것을 권장합니다

관련 문제