如何访问从同一级别的实例方法调用的实例方法内的实例变量



我有一个连接到滑块的 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   
}

滑块 1Change 中的错误是找不到"计算更新总计"方法。 如果我将 CalculateUpdateTotal 从实例方法更改为类方法,则错误是实例变量 datacellR1 在类方法中访问。

关于如何完成这项工作的任何建议?

CalculateUpdatedTotal

正如所写的,也是一个实例方法。因此,要调用它,您应该将消息传递给self,而不是类(View2Controller):

[self CalculateUpdatedTotal];

顺便说一下,在 Objective-C 中,方法名称通常以小写字母开头。

最新更新