2011-12-16 9 views
0

これは本当に奇妙です。私は私のビューからCGFloat値を取得して、それを私のオーディオエンジンに渡す私のviewControllerに送信しています。しかし、CGFloatは、viewとviewControllerの間で何とか変更されます。完全に困惑した。CGFloatの変更がviewControllerに送信されました

ここで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]; 
} 

での方法だ - このメソッドは、それを受けて、私のViewControllerで、その後1.0

が...

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

    [audioController mod:value forVoice:voice]; 
} 

と、このプリント1.0842e-19,2、-2など完全に間違った数字。

おそらくsomethiです単純ですが、私はそれが何であるか把握できません!!ご協力いただきありがとうございます。

答えて

0

私は初心者ですから、これについては分かりませんが、実際にはメソッドの入力値を変更して別のメソッドに再送信できますか? mod:メソッドの中に別のCGFloatを作成し、その値をviewControllerに送信するはずですか?

+0

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

+0

いいえ、それは必要ではありません。 – gschandler

+0

@gschandlerは訂正してくれてありがとう - 私はベビー・ステップを取っていますが、私はそこに行っています:) –

0

私はこのプログラムをコンパイルすると、(あなたがそれらを無効にしない限り)いくつかの警告が出ると思います。それらを修正し、これは遠ざかります。

具体的には、viewController.hに宣言されていること(また、宣言が実装と一致すること)、および(b)呼び出し前にビューの実装ファイルにviewController.hが含まれていることを確認してください。

+0

これはそれだと思っていましたが、実際にはもっとエラーが出ています。 viewController(実際にはUIViewControllerのサブクラス)の.hをインポートしましたが、コンパイラは「未知の型」と伝えています。 – olynoise

+0

私はviewControllerのヘッダーをインクルードすると、他のクラスのほとんどが「不明な型」であると言ってエラーを生成します。私はこれが何らかの循環参照やそれに類するものと関係しているのだろうかと思っています。 – olynoise

+0

可能です。エラーが何であるかを見ることなく、言うことは難しいです。 –

関連する問題