1

我有2個視圖由選項卡欄控制器控制。重新加載視圖確實加載返回從其他選項卡(iPhone界面生成器)查看

我遇到的問題是,從我的第二個返回到我的第一個標籤時,理想情況下需要基於我在第二個標籤中所做的更改重新加載第一個視圖的所有數據。

這可能最好不要解釋爲什麼,因爲我的摸索嘗試過於複雜的代碼與衆多的解決方法可能會警告你。

所以基本上,我可以得到viewDidLoad重做自己,當我回到另一個選項卡的視圖?

編輯:答案是:viewWillAppear中的不是viewDidLoad中我想上viewDidAppear(不能回答8小時自己的問題)

回答

0

而不是重新加載每次,在大多數情況下,你最好發送要查看的消息1告訴它下次顯示時重新加載。這樣可以避免不必要的重新加載(這可能會對用戶體驗造成不良影響,並會使用不必要的帶寬)有很多方法可以根據應用中的屏幕流程來執行此操作。做到這一點的方法之一是:

- 創建於視圖1

-whenever事情發生在視圖(或應用程序中的其他地方)伊娃BOOL shouldReload需要的視圖1後的消息重載到[NSNotificationCenter defaultCenter]稱爲「View1ShouldReload」。的視圖1

-on負載設置shouldReload標誌NO和開始收聽

-on通知選擇器,設置shouldReload爲YES

-on viewDidAppear檢查(shouldReload)然後進行重裝。

還有很多其他的方法可以做到這一點(比如代理,單身,不管),但這是讓應用更高效工作的一種簡單方法。

+0

非常感謝 - 將檢查此方法。我可以想象,80%的時間,視圖需要重新加載(無論如何,這並不重要),所以我不確定在這個時候這是一個很大的交易,但它會是一個有用的工具來實現 –

相關問題