2012-07-14 48 views
0

我有一個非常簡單的方法,但它不起作用。最終,從輸入YES開始,我想要得到NO並反轉。Xcode BOOL類型:從輸入是的,我想要得到的值NO

-(void)myMethod:(BOOL)ys{ 
    if (ys==YES) { 
     myLabel.hidden=NO; 
     myButton.hidden=NO; 
    }{ 
     myLabel.hidden=YES; 
     myButton.hidden=YES; 
    } 
} 

你們能幫我糾正和縮短代碼嗎?由於

回答

3

也許這就是痘痘更容易:

-(void)myMethod:(BOOL)ys{ 
    myLabel.hidden = !ys; 
    myButton.hidden = !ys; 
} 
+0

工作完美,感謝 – DavidNg 2012-07-14 07:20:09

0
-(void)myMethod:(BOOL)ys{ 
    if (ys) { 
     myLabel.hidden=NO; 
     myButton.hidden=NO; 
    } else { 
     myLabel.hidden=YES; 
     myButton.hidden=YES; 
    } 
} 
3
-(void)myMethod:(BOOL)visible 
{ 
    [myLabel setHidden:!visible]; 
    [myButton setHidden:!visible]; 
} 

的代碼應該是工作。但是,您的代碼不起作用可能是因爲您沒有爲您的標籤和按鈕設置引用插口(如果您使用界面構建器創建它們)。 Set it like this

參考插座應該像這樣設置。否則,編譯器將不知道您要隱藏的按鈕是否是界面上的按鈕。

如果您創建了帶有代碼的按鈕/標籤,請在嘗試將其設置爲可見之前檢查它們是否已釋放。

0

如果我們試圖使它短...`

-(void)myMethod:(BOOL)ys{ 
    myLabel.hidden = myButton.hidden = !ys; 
}