我有一个带有两个参数的方法。其中一个是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;
为什么我收到此错误?我打电话给我的方法错了吗?我的定义错了吗?
答案 0 :(得分:3)
是的,你只是以错误的方式调用方法。其签名为findCp:obj:
而非findCp::
。
你的实际电话应该是:
convertedTemp = [self findCp:tempreture obj:Degree]; // You're returning a double already
PS。另请注意,Objc中的ivar名称通常以起始小写字母命名,而Class名称以大写字母命名(按照惯例)。