Objective c 调用方法会出错
我有一个有两个参数的方法。其中一个是Objective c 调用方法会出错,objective-c,methods,Objective C,Methods,我有一个有两个参数的方法。其中一个是对象。当我想打电话给他们时,会出现以下错误: 实例消息的接收器类型“myView”未声明带有选择器“findCp::”的方法。 这是我的方法的代码,我减少了它 -(double)findCp:(double)temp obj:(Component *)Obj{ return temp; } 这里,Component是一个NSObject类,Obj是它的对象之一。 我这样调用我的方法: convertedTemp = [[self findCp:tem
对象
。当我想打电话给他们时,会出现以下错误:
实例消息的接收器类型“myView”未声明带有选择器“findCp::”的方法。
这是我的方法的代码,我减少了它
-(double)findCp:(double)temp obj:(Component *)Obj{
return temp;
}
这里,Component
是一个NSObject
类,Obj是它的对象之一。
我这样调用我的方法:
convertedTemp = [[self findCp:tempreture :Degree]doubleValue];
在实际代码中,它会对温度进行一些更改并返回。
也在我的视图中
-(double)findCp:(double)temp obj:(Component *)Obj;
为什么我会犯这个错误?我说我的方法不对吗?我的定义错了吗 是的,您只是以错误的方式调用了该方法。它的签名是
findCp:obj:
,而不是findCp::
。
您的实际通话应该是:
convertedTemp = [self findCp:tempreture obj:Degree]; // You're returning a double already
另请注意,Objc中的ivar名称通常以小写字母开头,而类名则以大写字母开头(按惯例)。你说得对。我应该删除
doubleValue
部分,并将名称obj
放在对象之前。非常感谢。