我有一个连接到滑块的IBAction实例方法,并在名为datacellR1的文本字段中显示滑块值。下面是代码的副本,后面是一个问题。这两种方法都在View2Controller.m文件的@implementation部分中。
- (IBAction)slider1Change:(id)sender
{
float pctVal1 = [slider1 floatValue]; // this works
[datacellR1 setFloatValue:pctVal1];
[View2Controller CalculateUpdatedTotal ]; // This method needs to work with the datacellR1 contents, but I can’t access it.
}
-(void)CalculateUpdatedTotal
{
// -------- do some work with datacellR1 ----
// This function fails with an error
float newValue = [datacellR1 floatValue];
//some other code goes here
}
slider1Change中的错误是找不到CalculateUpdatedTotal方法。如果我将CalculateUpdatedTotal从实例方法更改为类方法,则错误是在类方法中访问实例变量datacellR1。
关于如何使这项工作的任何建议?
答案 0 :(得分:3)
CalculateUpdatedTotal
也是一种实例方法。因此,要调用它,您应该将消息传递给self
,而不是类(View2Controller
):
[self CalculateUpdatedTotal];
顺便说一句,在Objective-C中用小写字母开始方法名称是常规的。