我有一個tabBarController包含三個選項卡。一個選項卡是一個設置選項卡,它具有三個包含在UITableView中的UISwtch,並將數據存儲在[NSUserDefaults standardUserDefaults]中。我正在測試用戶可能做的所有事情,並發現了一個小問題。當設置選項卡在前臺,我退出應用程序,輸入手機的主要設置,更改我的應用程序的設置,退出設置,然後重新啓動我的應用程序,設置選項卡仍處於前臺,但切換開關不反映上一步中所做的更改。如果我切換到另一個選項卡,然後返回到我的設置選項卡,現在反映了更改。應用程序從多任務恢復後刷新視圖
我用盡了一切辦法,viewWillAppear中,viewDidAppear,[theTtableView reloadData],沒有什麼工作。奇怪的是,當它恢復並且設置選項卡位於forground時,會調用完全相同的函數,因爲當另一個選項卡位於前景時,則選擇設置選項卡。即使在設置控制器上調用了viewDidAppear和viewWillAppear,我也無法使其刷新。
我知道大概是不可能的用戶將在在應用程序設置選項卡,然後退出並轉到手機設置選項卡上做出改變,然後再返回到應用程序,但它的駕駛我堅果,我需要修復這個。
我已經試過每一個建議,我可以在這裏找到,仍然不能使它發揮作用。
任何想法?
感謝
短調用viewWillAppear中/ viewDidAppear什麼其他刷新代碼是那裏?當applicationWillEnterBackground和applicationWillResignActive我調用了setNeedsDisplay,但似乎也沒有做到這一點。 – user1178964 2012-03-24 02:44:14
當您在應用程序內更新它時,通常會做同樣的事情,假設它正常工作。沒有代碼,知道發生了什麼並不容易。 – borrrden 2012-03-24 03:31:08
我發現了這個問題,這是我期望的最後一件事。當我的應用程序重新加載並獲取[NSUserDefaults standardUserDefaults]中的值時,[NSUserDefaults standardUserDefaults]中的值尚未更新。一旦我切換標籤,然後回到設置標籤,存儲在NSUSerDefaults中的值現在反映了這些變化。有沒有辦法強制[NSUserDefaults standardUserDefaults]立即反映更改? – user1178964 2012-03-24 03:51:51