2010-12-16 7 views
2

나는 재미있게 (단지 시뮬레이터) 학습을 위해 아이폰에서 도트 게임을하고있다. 이것은 점이 있고 "통로"와 연결하는 게임입니다. 4 점이 만드는 사각형을 닫으면 사각형에 "승리"합니다.목표 C 서클 서클 경고

이제 몇 가지 경고가 표시되며이를 제거하는 방법을 알고 싶습니다. 처음에는 이것이 상황입니다. Pathway라는 2 개의 점 사이의 연결을 나타내는 클래스가 있습니다. 4 개의 경로로 만들어진 회로를 나타내는 circuit이라는 클래스가 있습니다. 그래서 class Circuit에는 4 개의 Pathways의 NSMUtable 배열이 있습니다.

각 경로에는 최대 2 개의 회로 (각 경로는 최대 2 개의 회로에 속할 수 있음)의 NSMutable 배열이 있습니다. 그러면 수입주기가 있음을 알 수 있습니다.

@ 클래스를 다른 클래스 중 하나에 포함 시키려면 그렇지 않으면 컴파일시 오류가 발생합니다.

모두 작동하지만 다른 클래스에 대한 메서드를 볼 수 없어 클래스 중 하나에서 경고가 표시됩니다.

어떻게 해결할 수 있으며 이러한 문제를 해결하는 적절한 방법은 무엇입니까?

답변

7

파일 pathway.h

@class Circuit; 

@interface Pathway { 
} 
... 
@end; 

파일 pathway.m

#import "circuit.h" 
#import "pathway.h" 

... 

파일 파일 circuit.m

@class Pathway; 

@interface Circuit { 
} 
... 
@end; 

circuit.h

#import "pathway.h" 
#import "circuit.h" 

... 

일반적으로 이 필요하지 않습니다. 헤더에있는 다른 클래스를 선언하는 종속 클래스의 전체 선언이 필요합니다. 하지만 구현 파일에 선언이 필요합니다. 그럼, 물건을 나눠 봐.

+0

감사합니다. – cromestant

3

.m 파일에서 다른 클래스의 헤더 파일을 가져옵니다. 거기에있는 클래스를 참조하려면 .h 파일에 @class 지시문을 사용하십시오.

+0

다른 유용한 지시문은 @protocol입니다. 어떻게 열거 형을 처리합니까? – VdesmedT

+0

@VdesmedT : int 유형 만 사용하십시오. – JeremyP