2013-02-28 49 views
0

我在單視圖應用程序主要故事板中有兩個按鈕,並且希望禁用其中的一個按鈕以及使用awakeFromNib方法從UILabel獲取值。就我所關心的所有關係而言,在調用喚醒方法之前,必須對GUI項目進行初始化並賦值。不幸的是,我無法通過向我所做的課程申請awakeFromNib無法從UILabel獲得值,也無法禁用UIButton

- (void)awakeFromNib { 
    decreaseButton.enabled = NO; 
    decreaseButton.alpha = 0.2; 
    [polygon initWithNumberOfSides:numberOfSidesLabel.text.integerValue  
       minimumNumberOfSides:3 
       maximumNumberOfSides:12]; 
} 

來獲得值和禁用按鈕。我建立了UILabel和

IBOutlet UILabel *numberOfSidesLabel; 

在我創建的類文件中的連接。 有人可以看到這個錯誤,或者我應該提供關於這個問題的更多信息嗎?

+0

當'-awakeFromNib'被調用時,'decreaseButton'和'numberOfSidesLabel' nil是否爲? – 2013-02-28 21:15:49

+0

UI中的標籤初始值爲「3」,但喚醒時調用的值爲0.按鈕與動作有關係:增加和減少。 – 2013-02-28 23:54:56

+0

值0,還是它看起來像零,因爲你正在調用一個無對象的方法? – 2013-03-01 00:24:31

回答

2

首先,您必須在覆蓋此方法時調用[super awakeFromNib];

二,標準做法是用viewDidLoad。改爲嘗試。

+0

謝謝你的回覆。我試圖調用UILabel: NSLog(@「%i」,numberOfSidesLabel.text.integerValue); 裏面viewDidLoad但結果= 0; 當一切都加載我沒有問題,從標籤中獲取值,並進一步傳遞,但不是在編譯時。 – 2013-03-01 00:03:06

+0

那麼問題是什麼。您在運行時需要它,而不是編譯時。問題是轉換爲整數嗎? – Mundi 2013-03-01 08:16:56

+0

我需要在應用程序啓動之前進行一些設置(禁用按鈕並獲取UILabel的值)。我無法完成這兩項任務,也無法確定我錯在哪裏。 – 2013-03-01 15:00:14