2011-02-08 78 views
0

所以我有一個方法,當按下三個按鈕一個我稱之爲:爲什麼我的if語句被跳過?

- (IBAction)saveNetwork:(id)sender 
{ 
    NSString *networkEntered; 

    if (sender == button1) 
     networkEntered = @"button1"; 

    if (sender == button2) 
     networkEntered = @"button2"; 

    if (sender == button3) 
     networkEntered == @"button3"; 
     //more work... 
} 

的問題是,它從來沒有擊中第三個如果,不管什麼傳入的發件人。我已經嘗試其他的,如果是,其他等...

任何想法發生了什麼?

問題不在於我怎麼傳入按鈕對象之類的東西,因爲如果它是按鈕1被按下,它進入,如果只是罰款,但由於某種原因它永遠不會檢查最後一個在所有。

提前感謝您的閱讀和幫助。

+0

蘭斯,現在已經過去了好幾個小時,不要忘記「接受」答案,通過點擊答案左側的清晰箭頭。 –

回答

9

在第三個if塊中有一個比較==。取而代之的networkEntered == @"button3";你可能更希望把networkEntered = @"button3";

我期待你的第三個如果被輸入塊,只是沒有做你希望它是什麼。

+6

好的。 OP應該嘗試打開更多的編譯器警告。這類問題通常被檢測爲「聲明無效」警告。 –

+2

這是XCode編譯器警告的參考 - http://developer.apple.com/tools/xcode/compilercodewarnings.html – cweston

+0

嘿謝謝:)我發現這是幾個小時後,我發佈這個問題,我有轉移到其他問題:) – Lance

4

那麼,考慮到第三個if的效果是平等比較而不是任務,難怪它不起作用。 ;)

networkEntered == @"button3"; 

應該是:

networkEntered = @"button3"; 

除非這只是一個錯字,而寫了這個問題? :)

1

networkEntered == @"button3"; 大概應該是 networkEntered = @"button3";

0

看看你是否已經迷上了觸摸的內心行動,爲第三個按鈕的方法。