2010-12-09 42 views
0

對於這樣一個愚蠢的問題抱歉抱歉 我正在改變一個變量值,這取決於分段控件的索引,但是隨後想在隨後的計算中使用這個變量;我確定這與變量範圍有關?關於傳遞實例變量的真正基本的Obj-C問題

- (IBAction)calculate:(UIButton *)button { 
if([sSeg selectedSegmentIndex]==1){ 
    float s=0.5; 
    NSLog(@"s=%f", s); 
} 
else if ([sSeg selectedSegmentIndex]==0) 
{ 
    float s=1; 
    NSLog(@"s=%f", s); 
} 
NSLog(@」s now = %f」, s); 

}

幫助非常感謝!

+0

只需在你的接口文件中的花括號如float s之間聲明你的float var;並在您的IBAction方法(和其他任何地方)中,您可以直接訪問它。 – Rog 2010-12-09 01:40:28

回答

4
- (IBAction)calculate:(UIButton *)button { 
    float s = 0; 
    if([sSeg selectedSegmentIndex]==1){ 
     s=0.5; 
     NSLog(@"s=%f", s); 
    } 
    else if ([sSeg selectedSegmentIndex]==0) 
    { 
     s=1; 
     NSLog(@"s=%f", s); 
    } 
    NSLog(@」s now = %f」, s); 

}

呀,它的範圍 - 變量只是你的大括號內可見。

0
- (IBAction)calculate:(UIButton *)button { 
    float s; 
    if([sSeg selectedSegmentIndex]==1){ 
     s=0.5; 
     NSLog(@"s=%f", s); 
    } 
    else if ([sSeg selectedSegmentIndex]==0) 
    { 
     s=1; 
     NSLog(@"s=%f", s); 
    } 
    NSLog(@」s now = %f」, s); 
} 
+0

是的,這就是我的想法。我試圖在if語句之外聲明float(如上面的答案),但它仍然不能在if語句之下訪問。我得到本地聲明的s隱藏實例變量警告。 – zed111 2010-12-09 01:48:42