2013-02-16 1 views
1

확인을 위해, 여기 내 상황입니다 다음과 같이 ...인스턴스 방법이 발견되지 앱 위임 속성

내 응용 프로그램 대리자 선언 파일의 상단에,

AppDelegate* de = (AppDelegate*)[[NSApplication sharedApplication] delegate]; 
ppDocumentManager* docs = [de documentManager]; 

을 그리고 : m이 같은 documentManager에 액세스하려고 컴파일러가 AppDelegate의 약자를 알 수 있도록 @class AppDelegate;도 추가했습니다.

그리고 제대로 작동합니다.


그러나, 나는 점점 경고를 계속 :

Instance method '-documentManager' not found (return type defaults to 'id') 

나는 모든 경고를 제거하기 위해 어떻게해야합니까?

답변

2

OK, 이것은 나를 위해 일한 것입니다 :

  • 내가 순환 참조의 위험을 방지하기 위해, documentManager.m 파일 만들기 사용의 시작 부분에 @class AppDelegate;을 사용하기로 결정했다.

그러나 필수적이지는 않습니다.

방금 ​​수입 한 제품은 AppDelegate.h이며 모든 것이 들어갑니다.

Pheww ....

+0

.m 파일을 가져 오지 않으므로 순환 가져 오기의 위험이 없습니다. 게다가, @class는 컴파일러에게 그 클래스의 메소드와 속성에 대해 아무것도 말하지 않는다. –

+0

@FirozeLafeer 맞습니다. :-) –

0

나는 같은 문제를했고 나는 그것이 "AppDelegate에"라는 AppDelegate에하지 "MyAppDelegate"와 같은 일부 사용자 지정 이름을 가진 온 발견했다.

"MyAppDelegate"로 내 클래스 이름을 바꾸고 "MyAppDelegate.h"로 가져 오면 트릭을 만들었습니다.

관련 문제