2009-09-22 7 views
0

경고가 있고 멀리 떨어지는 방법을 알아낼 수 없습니다.initwithint 경고가 없습니다. 메소드를 찾을 수 없습니까?

경고 :

-(void)restartTimer; 

그런 다음 내하는 .m에 내가 가지고있는 나는이를 내 .H에서

...

-(void)restartTimer{ 
TimerViewController *TimerView = [[TimerViewController alloc] 
    initWithInt:hStart 
    number:mStart]; 

나는이 오류가 발생합니다 : no '-initWithInt : number.' 메소드가 발견되었습니다.

나는 매우 간단하고 코드는 여전히 작동한다고 확신합니다. 누구든지 그것을 해결할 수있는 방법을 제안 할 수 있다면 좋을 것입니다. 감사합니다

+0

무례하거나 아무것도 될 수 없음을 해결할 내 .H 파일,하지만 당신은 당신의 질문의 태그, 제목 또는 본문에서 사용중인 언어에 주목하는 시도하십시오. 이것이 객관적인 질문이라는 것을 여기에서 충분히 쉽게 알 수 있지만 다음 번에는 그렇지 않을 수도 있습니다. 또 다시 도움이되는 충고를하는 것을 무례하게하려는 것은 아닙니다! :) – RCIX

+0

내가 조금 새로운이 : -s – user157733

답변

1
-(void)restartTimer{ 
    TimerViewController *TimerView = [[TimerViewController alloc] 
     initWithInt:hStart 
      number:mStart]; 
... 
} 

(1) TimerView은 명명 규칙 오브젝티브 C에 따라, timerView해야

(2) TimerViewController.h 같은 선언 뭔가가 있어야합니다

- (TimerViewController *) initWithInt: (NSInteger) hStart number: (NSInteger) mStart; 

(가정을 당신은 hStart와 mStart가 정수가되기를 원한다.)

(3) 위 코드가 나타나는 구현 파일에서 TimerViewController.h를 직접 또는 간접적으로 가져와야합니다 (잠재적으로 프로젝트의 PCH 파일에서 가져 오기 때문에).

(4) 방법에 대한 더 좋은 이름이 될 수 있습니다

- (TimerViewController *) initWithHStart: (NSInteger) hStart mStart: (NSInteger) mStart; 

또는 유사한 무언가 - 즉, 방법이 걸리는 인수의 성격을 설명한다.

1

이것은 컴파일러가 컴파일 타임에 그러한 메소드를 찾을 수 없음을 의미합니다. .m 파일에 TimerViewController의 헤더 만 포함하면됩니다.

+0

#import "TimerViewController.h"를 수행함으로써? 난 이미 그게 – user157733

+0

이 정확한 방법은 TimerViewController의 구현에 존재 확신합니까? –

-1

Objective-C가 nil 개체에 메시지를 보내도록 허용하므로 코드는 여전히 작동합니다. *TimerViewnil입니다.

+0

TimerView는 메소드가 호출 된 시점에 실제로 관여하지 않습니다. – bbum

1

가져 오기 헤더는이 문제

관련 문제