2012-08-05 62 views
1

我有一个方法有两个参数。其中之一是Object。当我想打电话给他们它给了我这个错误:调用方法使得错误

reciver型“MyView的”,例如信息不声明选择的方法“findCp ::”

这里是我的方法的代码我做到了少

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

这里ComponentNSObject类obj是它的一个对象。 我呼吁这样我的方法:

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

在实际代码它使温度的一些变化,并给它回来。 也myView.h我把

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

为什么我得到这个错误?我打电话给我的方法错了吗?我的定义有误吗?

回答

3

是的,你只是以一种错误的方式调用该方法。其签名是findCp:obj:而不是findCp::。 您的实际通话应该是:

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

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

+0

你是对的。我应该删除'doubleValue'部分,并在对象前面加上名字'obj'。谢谢 – nfarshchi 2012-08-05 10:48:40