如何解决调用函数
| 嗨,我在一个类上有一个函数是这样的:- (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];
现在我可以打电话听,但是当打电话到averagepower时,我得到警告,它可能没有响应,并且该函数在仿真中崩溃了。
我做错了什么?
非常感谢。
解决方法
您试图将变量传递给不接受任何参数的函数。
我希望您打算这样做:
Float32 tmp = [theInstance averagePower];
, 您正在使用参数调用该方法:
[theInstance averagePower:tmp];
但它的定义中没有任何参数:
- (Float32)averagePower {
// ...
}
这导致崩溃。如果尝试将方法的返回值分配给tmp
变量,则应执行以下操作:
Float32 tmp = [theInstance averagePower];
要消除警告,请确保在相应类的接口块(h文件)中声明此方法。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。