调用方法会产生错误

时间:2012-08-05 10:37:18

标签: objective-c methods

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

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

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

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

此处Component是一个NSObject类,Obj是其对象之一。 我用这种方式调用我的方法:

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

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

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

为什么我收到此错误?我打电话给我的方法错了吗?我的定义错了吗?

1 个答案:

答案 0 :(得分:3)

是的,你只是以错误的方式调用方法。其签名为findCp:obj:而非findCp::。 你的实际电话应该是:

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

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