2012-09-26 63 views
0

我有一個UIViewController與3個不同的UITableViews就可以了。其中兩個表取決於第三個表中的內容。當應用程序啓動時,它在加載獨立表之前加載兩個依賴表,因此我沒有得到預期的行爲。如果我繼續不同的屏幕然後回來,我得到預期的行爲,所以我知道我的代碼,指示行爲是正確的。我想我需要做的是指定首先由cellForRowAtIndexPath處理哪個表。這可以在viewDidLoad或其他任何地方完成嗎?它如何確定首先處理哪個表?什麼決定了多個UITableView的加載順序?

回答

2

加載時,您不知道訂單。你可以猜到,但它可能會在不同的iOS版本中有所不同,所以這是不值得的。

要修復它,在你viewDidLoad方法,只需調用reloadData在你需要:)順序表意見

然而,事實上,你有意見表中加載順序意味着你proably避風港沒有把你的數據和你的UI足夠分開:)你的表視圖不應該依賴於對方,它們應該依賴於存儲在視圖控制器中的變量,以便它們可以在任何時候以任何順序重新加載(在一個理想的世界:)

+0

哇,'reloadData'是我需要的簡單修復。雖然如此,但我認爲它不會起作用,因爲當我通過代碼時,它在第一次調用'cellForRowAtIndexPath'之前調用了'viewDidLoad',所以我想我會得到相同的結果,但實際上嘗試它證明了它的工作原理(並且我沒有開始理解這一點,就像我以爲我是=()。 – GeneralMike

+0

就相同視圖的依賴表而言,它幾乎是客戶的要求,表格需要一起查看,所以我想我的工作是找到一種方法使其工作,而不是告訴客戶他們應該如何使用它=)。 – GeneralMike

+0

gah,無視最後。原來,我讓我的代碼以愚蠢的方式決定了行爲 - 「如果你只有一把錘子,一切看起來像釘子」。我想了一會兒,然後我清理了它,畢竟它是基於視圖控制器上的一個變種。謝謝! – GeneralMike

相關問題