我多年来一直是Java程序员,但只有iPhone / Obj-c几个月。每当我觉得我对语言感到满意时,就会发生奇怪的事情。为什么以下生成“初始化中的不兼容类型”编译错误?看起来很直接。 'double'是一个原始的权利?!?
-(void) testCalling{
double myDoub = [self functionReturningDouble:3.0];
}
-(double) functionReturningDouble:(double) input{
return 1.0;
}
答案 0 :(得分:0)
尝试交换方法声明。这可能是Georg注意到的范围问题:
-(double) functionReturningDouble:(double) input{
return 1.0;
}
-(void) testCalling{
double myDoub = [self functionReturningDouble:3.0];
}
在Objective-C中(这对C来说是有效的),只有在以前定义或声明过方法之后,方法才会“存在”。