簡體   English   中英

從其他選項卡返回視圖時,重載視圖確實已加載(iPhone界面生成器)

[英]reload view did load on returning to view from other tab (iPhone interface builder)

我有2個由標簽欄控制器控制的視圖。

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

最好不要解釋為什么,因為我對帶有許多變通辦法的過於復雜的代碼的摸索嘗試可能會警告您。

所以基本上,當我從另一個選項卡返回視圖時,是否可以讓viewDidLoad重做自身?

編輯:答案是:我認為viewWillAppear而不是viewDidLoad(8小時無法回答自己的問題)

在大多數情況下,最好不要在viewDidAppear上每次重新加載,最好發送一條消息通知view 1,告訴它下次出現時重新加載。 這樣可以避免不必要的重新加載(這可能不利於用戶體驗並使用不必要的帶寬)。 有多種方法可以執行此操作,具體取決於應用程序中的屏幕流。 一種方法是:

-在視圖1上創建一個ivar BOOL應該重新加載

-每當需要重新加載視圖1的視圖2(或應用程序中其他任何地方)上發生任何事情時,都會在[NSNotificationCenter defaultCenter]中發布一條稱為“ View1ShouldReload”的消息。

-在視圖1的加載上,將shouldReload標志設置為NO並開始監聽

-在通知選擇器上,將shouldReload設置為YES

-on viewDidAppear檢查是否(shouldReload)然后重新加載。

還有許多其他方法可以做到這一點(例如代理,單例,等等),但這是使您的應用程序更有效地工作的簡單方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM