有没有办法将浮点数“byref”传递给目标C中的方法?以下是我所得到的概述:
方法签名:
- (void) MyMethod: (float*) min max:(float*) max;
方法:
- (void) MyMethod: (float*) min max:(float*) max
{
}
尝试调用它:
float min1 = 0; float max1 = 0;
[self MyMethod: min:&min1 max:&max1];
我收到以下警告,并且在尝试调用MyMethod时代码异常终止:
警告:'MyClass'可能无法响应'+ MyMethod:min:max:'
答案 0 :(得分:3)
您方法的签名声明为
- (void) MyMethod: (float*) min max:(float*) max
但你称之为
- MyMethod:min:max:
...其中包括一个额外的'min:',它不在声明中。
尝试将您的主叫代码更改为
float min1 = 0; float max1 = 0;
[self MyMethod:&min1 max:&max1];
并查看是否可以改善目标。
但是,我看到您的错误消息抱怨签名'+ MyMethod:min:max:',这也表示您尝试将消息发送到类而不是<我是班级的实例;你必须纠正它。
最后,Objective-C代码中的方法选择器通常以小写字母开头;您可能希望阅读常见的Objective-C naming conventions。