これは本当に奇妙です。ビューから CGFloat 値を取得し、viewController に送信して、オーディオ エンジンに渡します。ただし、CGFloat は、view と viewController の間で何らかの形で変更されます。完全に困惑した。
これがビューのメソッドです
-(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];
}
0.0 - 1.0 の値を出力する
次に、私のviewControllerでこのメソッドがそれを受け取ります...
-(void)mod:(CGFloat)value forVoice:(NSUInteger)voice
{
NSLog(@"mod in view control %g", value);
[audioController mod:value forVoice:voice];
}
これは、1.0842e-19、2、-2 などの完全に間違った番号を出力します。
たぶん簡単なことなんだけど、それが何かわからない!! ご協力いただきありがとうございます。