没有可见的膳食@interface声明选择器计算提示



我正在尝试从另一个类调用一个方法,但似乎无法让它工作。 尝试来自其他线程的建议,但即使在之后似乎也只是抛出相同的错误。语言是客观的C膳食来源。

@interface Meal : NSObject
- (float)CalculateTip:(float)MealCost secondValue:(float)SelectedValue;
@end

餐源

#import "Meal.h"
@implementation Meal
- (float) CalculateTip:(float)MealCost secondValue:(float)SelectedValue
{
float finalVal = 0;
float tipval = 0;
if (SelectedValue == 0)
{
    tipval = .1;
}
else if (SelectedValue == 1)
{
    tipval = .15;
}
else if (SelectedValue == 2)
{
    tipval = .2;
}
finalVal = MealCost*tipval;
return finalVal;
}
@end

视图控制器类中的导入语句

    #import "Meal.h";

调用方法 Meal *meal = [[Meal alloc] init];

这是发生错误的地方"没有可见的膳食@interface声明选择器计算提示"

float finalFloat =  [meal CalculateTip:MealCostFloat:select]; 

您已经声明了一个名为 CalculateTip:secondValue: 的方法。

但你试图将其称为:

[meal CalculateTip:MealCostFloat:select];

它需要像这样:

[mean CalculateTip:firstValue secondValue:theOtherValue];

其中firstValuetheOtherValue是需要传递给方法的两个变量或常量。

也许你的两个价值观是MealCostFloatselect.很难说。

[mean CalculateTip:MealCostFloat secondValue:select];

而且,如注释中所述,标准命名约定是方法和变量名称以小写字母开头。类名以大写字母开头。

并且不要导入 .m 文件,只导入 .h 文件。

最后一件事。鉴于您如何使用 SelectedValue 参数的值,我建议将其类型从 float 更改为 int

- (float)calculateTip:(float)mealCost secondValue:(int)selectedValue
{
    float tipval = 0;
    if (selectedValue == 0)
    {
        tipval = .1;
    }
    else if (selectedValue == 1)
    {
        tipval = .15;
    }
    else if (selectedValue == 2)
    {
        tipval = .2;
    }
    float finalVal = mealCost * tipval;
    return finalVal;
}

相关内容

最新更新