嗨我在类上有一个函数,就像这样:
- (Float32)averagePower {
if (![self isListening])
return 0.0;
float tmp = [self levels][0].mAveragePower;
tmp = tmp * 100;
NSLog(@"%f", tmp);
return tmp;
}
我从另一个类的viewdidload调用它:
SoundSensor *theInstance = [[SoundSensor alloc] init];
[theInstance listen];
Float32 tmp;
[theInstance averagePower:tmp];
现在我可以打电话来听,但是在打电话给普通电力时,我得到警告,它可能没有响应,而且功能在模拟中崩溃了。 我做错了什么?
非常感谢。
答案 0 :(得分:3)
您正在使用参数调用方法:
[theInstance averagePower:tmp];
但它的定义中没有任何参数:
- (Float32)averagePower {
// ...
}
这导致了崩溃。如果您尝试将方法的返回值分配给tmp
变量,则应执行以下操作:
Float32 tmp = [theInstance averagePower];
要消除警告,请确保在相应类(h文件)的接口块中声明此方法。
答案 1 :(得分:1)
您正在尝试将变量传递给不接受任何参数的函数。
我希望你的意思是:
Float32 tmp = [theInstance averagePower];