【问题标题】:Update/Reload ViewController when cell selected in UITableView (swift2)在 UITableView (swift2) 中选择单元格时更新/重新加载 ViewController
【发布时间】:2016-03-05 15:40:23
【问题描述】:

我的问题是如何在 UITableView 中选择单元格时更新或重新加载 ViewController。 我有带有两个按钮的 ViewController,当您单击其中一个按钮时,您将转到 tableViewController,当您选择一个选项时,该选项将由

保存

NSUserDefaults.standardUserDefaults()

tableViewController 会被

解散

self.dismissViewControllerAnimated(true, completion: nil)

。 我用过

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)
}

我的问题是我必须重新启动我的应用程序才能获得正确的结果,我的意思是必须重新加载视图控制器才能从中获取按钮名称

NSUserDefaults.standardUserDefaults()

我该如何解决?

【问题讨论】:

    标签: ios uitableview uiviewcontroller uibutton nsuserdefaults


    【解决方案1】:

    查看此链接:Link

    你应该把你的重载代码放在:

    // 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

    【讨论】:

      【解决方案2】:

      要重新加载你的按钮,你必须再次调用这个代码,当你想更新按钮时(它可能在点击,或者在viewWillAppear函数中)

              if let lang_saved = NSUserDefaults.standardUserDefaults().objectForKey("lang_saved") {
                   button1.setTitle("\(lang_saved)", forState: .Normal)
              }
      

      您的代码的问题是您仅在 viewDidLoad 上调用,并且仅在您的视图加载时执行。

      【讨论】:

      • 谢谢,但我不想重新加载表格视图,我想重新加载我来自的视图控制器,其中有我想要更新的按钮
      • 哇,在这种情况下,只需再次从 NSUserDefault 调用查询。我会重写答案。
      猜你喜欢
      • 2021-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-23
      • 2011-07-27
      • 1970-01-01
      相关资源
      最近更新 更多