在我的應用程序中,我使用的是UINavigationController。我有一個「父母」UIViewController和一個「孩子」UIViewController在堆棧上運行。用戶可以對孩子進行一些設定,這些設定稍後會影響父母。我使用NSUserDefaults來保存和檢索數據,而且根據NSLog它似乎工作正常。iOS:如何在彈出其子UIViewController後「刷新」UIViewController?
我不清楚的是我一旦從孩子回來,該如何「刷新」數據。
讓我更具體:在孩子有一個「後退」按鈕,做popViewControllerAnimated,然後我們回到父母。我想重新運行viewDidLoad中的所有方法,以便使用從NSUserDefaults數據獲得的更改來設置父視圖字段。
- 在父方法中,我應該告訴視圖「刷新」?
- 如何執行此刷新操作?我應該再次調用viewDidLoad嗎?我讀了一些名爲setNeedsDisplay的東西,如果這是我應該使用的東西,語法是什麼(它是「[self。view setNeedsDisplay]」還是別的)?
任何人都可以直接和詳細說明嗎?
它是一個像「 - (void)NSUserDefaultsDidChangeNotification {}」或某些行我應該寫一些地方(如果是的話,在哪裏)? –
不,它是可以使用'NSNotificationCenter'類註冊的通知的名稱。以下是有關通知主題的文檔集合:http://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/Notifications/ – PeyloW