这真的很奇怪。我从我的视图中获取了一个 CGFloat 值并将其发送到我的 viewController,它会将它传递给我的音频引擎。但是,CGFloat 会在视图和视图控制器之间以某种方式进行修改。完全被难住了。
这是视图中的方法
-(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
这可能很简单,但我无法弄清楚它是什么!谢谢你的帮助。