1

我有一个带有两个参数的方法。其中一个是Object. 当我想打电话给他们时,它给了我这个错误:

接收器类型“myView”例如消息未声明带有选择器“findCp::”的方法

这是我的方法的代码,我减少了

-(double)findCp:(double)temp obj:(Component *)Obj{
    return temp;
}

Component是一个NSObjectObj 是其对象之一的类。我以这种方式调用我的方法:

convertedTemp = [[self findCp:tempreture :Degree]doubleValue];

在实际代码中,它会对温度进行一些更改并将其返回。我也在 myView.h

-(double)findCp:(double)temp obj:(Component *)Obj;

为什么我会收到此错误?我说我的方法错了吗?我对定义有误吗?

4

1 回答 1

3

是的,您只是以错误的方式调用该方法。它的签名findCp:obj:不是findCp::. 您的实际呼叫应该是:

convertedTemp = [self findCp:tempreture obj:Degree]; // You're returning a double already

PS。另请注意,Objc 中的 ivar 名称通常以小写字母开头,而 Class 名称则以大写字母命名(按照惯例)。

于 2012-08-05T10:41:51.623 回答