2012-06-25 175 views
0

我有一個連接到滑塊的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在類方法中訪問。

有關我如何完成這項工作的任何建議?

回答

3

CalculateUpdatedTotal,如書面所示,也是一種實例方法。因此,要調用它,你應該將消息傳遞給self,而不是類(View2Controller):

[self CalculateUpdatedTotal]; 

順便說一句,這是傳統的Objective-C中開始方法名稱以小寫字母。

+0

非常感謝! – K17

相關問題