Xcode中赋值错误的类型不兼容

时间:2011-02-22 14:15:16

标签: objective-c xcode

我一直在http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/ObjCTutorial/06Controller/06Controller.html

的Apple文档处理本教程

但是,当我尝试运行并构建代码时,我在分配错误中遇到了不兼容的类型。

#import "ConverterController.h"

@implementation ConverterController
- (IBAction)convert:(id)sender {
    float amount;
    converter = [[Converter alloc]init]; 
    [converter setSourceCurrencyAmount:[dollarField floatValue]]; 
    [converter setRate:[rateField floatValue]]; 
    amount =   [converter convertCurrency]; 
    [amountField setFloatValue:amount]; 
    [rateField selectText:self]; 
}
@end

错误出现在以下代码行: amount = [converter convertCurrency];

我无法弄清楚代码有什么问题。

你能帮忙吗?谢谢。

2 个答案:

答案 0 :(得分:1)

听起来convertCurrency没有返回浮点数,这是amount的类型

答案 1 :(得分:1)

您是否完成了本教程的前几部分?在第4部分“定义模型”中,系统会要求您为Converter对象创建单独的文件:

#import "Converter.h"

@implementation Converter

@synthesize sourceCurrencyAmount, rate;

- (float)convertCurrency {

    return self.sourceCurrencyAmount * self.rate;

}

@end

这应该允许Converter对象识别它们有一个名为convertCurrency的函数,它返回一个浮点数。