2011-12-16 4 views
0

이것은 정말로 이상합니다. 내보기에서 CGFloat 값을 가져오고 그것을 내 오디오 엔진에 전달할 내 viewController로 보냅니다. 그러나 CGFloat는 뷰와 뷰 컨트롤러간에 어떻게 든 수정됩니다. 완전히 엉망진창. ...CGFloat가 수정되면 viewController로 보냈습니다

-(void)mod:(CGFloat)value forVoice:(NSUInteger)voice 
{ 
    NSLog(@"mod in view control %g", value); 

    [audioController mod:value forVoice:voice]; 
} 

이 인화 후 제의 ViewController이 메소드를 수신

1.0 - 여기

0.0 사이의 값을 출력 뷰

-(void)mod:(CGFloat)value 
{ 
    if(value < 0) value = 0.; 
     if(value > self.bounds.size.width - 10)value = self.bounds.size.width - 10.f; 

      value = value/(self.bounds.size.width - 10.f) ; 
      NSLog(@"value %g", value); ///prints a value between 0.0 - 1.0 
      [viewController mod:value forVoice:voiceToPlay]; 
} 

에있어서의 1.0842e-19, 2, -2와 같은 완전히 잘못된 숫자

아마도 somethi입니다. 간단하지만, 나는 그것이 무엇인지에 관해 알 수 없다! 당신의 도움을 주셔서 감사합니다.

답변

0

저는 초보자입니다. 그래서 이것에 대해서는 잘 모르겠지만, 실제로 변경하여 메소드의 입력 값을 다른 메소드로 다시 보낼 수 있습니까? mod : method 안에 또 다른 CGFloat를 만들고 viewController에 그 값을 보내야한다고 생각하지 않습니까?

+0

- (void) mod : (CGFloat) 값 { CGfloat anotherValue = value; // [viewController mod : anotherValue forVoice : voiceToPlay]; –

+0

아니요, 그럴 필요는 없습니다. – gschandler

+0

@gschandler는 정정 해줘서 고마워. 나는 아기 발자국을 가지만, 거기에 갈거야. –

0

이 프로그램을 컴파일 할 때 일부 경고가 표시됩니다 (사용 중지하지 않은 경우). 문제를 해결하면 사라질 것입니다.

특히, (가) mod: forVoice:viewController.h에 선언되어 있는지 확인합니다 (그리고 선언 이행과 일치하는지)와 (b)에 viewController.h를 호출하기 전에 뷰의 구현 파일에 포함되어 있는지.

+0

좋아,이게 그럴 줄 알았는데, 실제로는 더 많은 오류가 나고있어. 내 viewController (실제로는 UIViewController의 하위 클래스)에 .h를 가져 왔지만 이제 컴파일러에서 "알 수없는 형식"이라고 알려줍니다. – olynoise

+0

viewController 헤더를 포함 시키면 대부분의 다른 클래스에 대해 "알 수없는 유형"이라는 오류가 발생합니다. 이것이 어떤 종류의 순환 참조 또는 이와 비슷한 것이면 궁금합니다. – olynoise

+0

가능합니다. 오류가 무엇인지 알지 못해 말하기가 어렵습니다. –

관련 문제