2012-05-16 87 views
0

我正在處理我的第一個iPhone應用程序,並且偶然發現了我的代碼中的一個未知錯誤。該代碼工作得很好,但問題在於當我點擊一個自定義的UIButton,並且加載了下一個視圖時。我有一個期望的buttonPressed IBAction,它被調用來處理在下一個視圖控制器上加載什麼信息,但函數調用的順序是錯誤的。我有5個不同的buttonPressed功能,5箇中有3個正常工作。注意我通過Storyboard實現了相同的方式,甚至嘗試重新制作非工作的。我會發布代碼,但代碼是基本的if/else語句。我只是不確定爲什麼5種方法中的3種會起作用,其他2種不會。任何幫助將不勝感激。iOS SDK 5.0 iPhone應用程序故障

**這是所希望的順序工作3:

viewDidLoad中 - >載荷主屏幕(初始視圖控制器AKA ROOT,在主屏幕上,你有5個UIButtons選擇類別,點擊一個按鈕加載到一個新的視圖控制器)

categoryButtonPressed - >設置計數器(seques新的視圖控制器)

viewDidLoad中 - >加載屏幕來縮小搜索

(現在你已經10+自定義按鈕,輕按在各個 將通過buttonPressed IBAction爲函數來處理,並且一旦按鈕被竊聽和功能被調用時,一個新的視圖被加載)

buttonPressed - >設置計數器(seques到新的視圖控制器)

viewDidLoad中 - >載荷正確信息

這是爲了非工作2:

viewDidLoad中 - >載荷主屏幕(初始視圖控制器AKA ROOT) (在主屏幕上,你有5個UIButtons選擇類別,點按按鈕加載到新的視圖控制器)

categoryButtonPressed - >設置計數器(seques新的視圖控制器)

viewDidLoad中 - >加載屏幕來縮小搜索 (現在你已經10+自定義按鈕,輕按,每次都會通過buttonPressed IBAction爲處理功能,一旦按鈕被竊聽和函數被調用時,一個新的視圖被加載)

viewDidLoad中 - >加載空白信息(黑屏)

buttonPressed - >設置櫃檯,但後期的觀點已經是加載空白

思考**

這裏是categoryButtonPressed的一個例子:

- (IBAction爲)categoryButtonPressed:(ID)發送方

{

if([sender tag] == 1) 

    counter = 1; 

else if([sender tag] == 2) 

    counter = 2; 

. 

. 

. 

}

注:我有每個自定義按鈕標記爲要加載的特定項目。這個函數只是設置一個計數器,所以另一個函數可以加載一個特定的文件。

+0

@LuisOscar謝謝,你是對的,我應該已經添加了一個評論,不是答案...我的壞。 很難說沒有更多的信息.​​... 我在理解是正確的你按下按鈕應該是設置即將到來的viewController的一些參數,然後過渡到視圖控制器? 似乎很奇怪的是,二次視圖控制器應該沒有按下按鈕,這是它看起來像上面加載。你在哪裏初始化你的代碼中的控制器? – MobileVet

+0

我已經更新了這個問題,也許現在你可以理解我想要做什麼並弄清楚了。 –

回答

0

使用塞格斯。

在您的主視圖控制器通過當按下特定賽格瑞加載視圖控制器上的所希望的信息建立塞格斯。

您可以按照本指南是,如果你使用的是故事板

http://www.scott-sherwood.com/?p=219

尋找「prepareForSegue」的方法,你應該做的方式,用故事板時,模態提出的意見應該是預先配置這種方式。

在附註中,「viewDidLoad」通常不用於加載另一個視圖,它應該用於在視圖加載後配置該視圖。

+0

嗯,我正在使用模態賽段。我遇到的問題是5箇中的3個正確工作。我已經完全按照同樣的方式進行設置,對於爲什麼它們無法正常工作感到困惑。我所需要做的就是以某種方式找到一種方法來改變2個非工作視圖的函數調用順序。 –

+0

你在使用「prepareForSegue」方法嗎?多數民衆贊成我的意思是我給你的鏈接。當一個按鈕會引導你到一個新的視圖被按下。您可以在那裏配置該視圖,以便它在出現時就緒。你的問題可能是你如何使用viewdidLoad,嘗試在viewdidload中設置一個NSLOG,並看看它何時被調用,我敢打賭,它有它的信息加載之前,「加載」你想要的方式加載。這就是爲什麼我建議使用合適的賽格方法。閱讀該鏈接。 – Pochi

+0

以及這是我的問題,視圖控制器加載之前調用buttonPressed函數,從而加載一個空白的屏幕。但是爲什麼在其他3個按鈕按下操作時這不起作用呢? –