[英]Update/Reload ViewController when cell selected in UITableView (swift2)
我的問題是在UITableView中選擇單元格時如何更新或重新加載ViewController。 我有帶兩個按鈕的ViewController,當您單擊其中一個按鈕時,您將轉到tableViewController,然后選擇一個選項,該選項將通過以下方式保存
NSUserDefaults.standardUserDefaults()
和tableViewController將通過關閉
self.dismissViewControllerAnimated(true,完成:無)
。 我用了
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
let cell = self.tableView.cellForRowAtIndexPath(indexPath)
let lang_name = cell!.textLabel!.text!
NSUserDefaults.standardUserDefaults().setObject(lang_name,forKey:"lang_saved")
NSUserDefaults.standardUserDefaults().synchronize()
self.dismissViewControllerAnimated(true, completion: nil)
}
和
super.viewDidLoad()
if let lang_saved = NSUserDefaults.standardUserDefaults().objectForKey("lang_saved") {
button1.setTitle("\(lang_saved)", forState: .Normal)
}
我的問題是我必須重新啟動應用程序才能獲得正確的結果,這意味着必須重新加載viewcontroller才能從中獲取按鈕名稱
NSUserDefaults.standardUserDefaults()
我該如何解決?
要重新加載您的按鈕,當您想更新按鈕時,必須再次調用此代碼(它可以在單擊時或在viewWillAppear
函數中)
if let lang_saved = NSUserDefaults.standardUserDefaults().objectForKey("lang_saved") {
button1.setTitle("\(lang_saved)", forState: .Normal)
}
代碼的問題是,您僅在viewDidLoad
上調用,並且僅在加載視圖時執行。
檢查此鏈接: 鏈接
您應該將重新加載代碼放入:
// Define Delegate Method
func childViewControllerResponse(parameter)
{
.... // self.parameter = parameter
}
要么
也許打電話
if let lang_saved = NSUserDefaults.standardUserDefaults().objectForKey("lang_saved") {
button1.setTitle("\(lang_saved)", forState: .Normal)
}
在viewWillAppear
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.