2013-08-25 51 views
-2

我有兩個視圖控制器:「A」(主視圖控制器)&「B」(第二個視圖控制器)。在VC「A」中,有一個按鈕是我想通過表視圖在VC「B」中設置的標題。當用戶從表格視圖中選擇一行時,該按鈕的標題應該設置爲選定的行。經過多次編輯和測試後,我認爲我已經將問題隔離開來了,當我在VC「A」中設置按鈕標籤後,選擇了Table View。這是從我認爲這個問題是(視圖控制器「A」)的代碼:UIButton titleLabel NOT

//firstParameterString = the button label's string which I set in VC "B" 

- (void)setButtonLabels { 
    NSLog(@"%@", firstParameterString); 

    if (self.firstParameterString == nil) { 
     [self.firstParameter setTitle:@"M" forState:UIControlStateNormal]; 
    } 

    else { 
     [self.firstParameter setTitle:firstParameterString forState:UIControlStateNormal]; 
    } 

    NSLog(@"%@", [self.firstParameter titleForState:UIControlStateNormal]); 
} 

當我運行在模擬器的代碼,第一的NSLog返回正確的值,但第二的NSLog返回的值「(空值)」。我不明白爲什麼這不起作用......我在另一個項目中使用了它並運行。任何幫助或意見將不勝感激!

謝謝!

回答

0

請問你嘗試

[self.firstParameter setTitle:self.firstParameterString forState:UIControlStateNormal]; 
[self.firstParameter setTitle:self.firstParameterString forState:UIControlStateHighlighted]; 
[self.firstParameter setTitle:self.firstParameterString forState:UIControlStateDisabled]; 
[self.firstParameter setTitle:self.firstParameterString forState:UIControlStateSelected]; 
+0

對不起,沒有解決不了的問題。但是,謝謝你的嘗試! –

1

這是因爲titleLabel是不是要設置什麼,所以它是空(也尚未創建)。 另外,您正在設置firstParameter的標題,但嘗試檢查secondParameter。

你想,而不是檢查:

[self.firstParameter titleForState:UIControlStateNormal]; 
+0

謝謝......粗心的錯誤。但是,在記錄器中,標題仍顯示爲「(null)」。我不明白,因爲第一個NSLog返回正確的值(NSString)。 –

+0

嘗試'NSLog(@「%@」,self.firstParameter);'最有可能的,這也會記錄'null'。這是因爲錯誤很可能是因爲您從未創建過「self.firstParameter」。 – Jsdodgers

相關問題