Update/Reload ViewController 当在 UITableView 中选择单元格时 (swift2)
Update/Reload ViewController when cell selected in UITableView (swift2)
我的问题是如何在 UITableView 中编辑 select 单元格时更新或重新加载 ViewController。
我有 ViewController 和两个按钮,当您单击其中一个按钮时,您将转到表格 ViewController,当您 select 一个选项时,该选项将由
保存
NSUserDefaults.standardUserDefaults()
和表 ViewController 将在
之前关闭
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)
}
我的问题是我必须重新启动我的应用程序才能获得正确的结果,我的意思是必须重新加载 viewcontroller 才能从
获取按钮名称
NSUserDefaults.standardUserDefaults()
我该如何解决?
要重新加载你的按钮,你必须再次调用此代码,当你想更新按钮时(它可能在点击时,或在 viewWillAppear
函数中)
if let lang_saved = NSUserDefaults.standardUserDefaults().objectForKey("lang_saved") {
button1.setTitle("\(lang_saved)", forState: .Normal)
}
你的代码的问题是你只在 viewDidLoad
上调用,并且这只在你的视图加载时执行。
检查此 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
我的问题是如何在 UITableView 中编辑 select 单元格时更新或重新加载 ViewController。 我有 ViewController 和两个按钮,当您单击其中一个按钮时,您将转到表格 ViewController,当您 select 一个选项时,该选项将由
保存NSUserDefaults.standardUserDefaults()
和表 ViewController 将在
之前关闭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)
}
我的问题是我必须重新启动我的应用程序才能获得正确的结果,我的意思是必须重新加载 viewcontroller 才能从
获取按钮名称NSUserDefaults.standardUserDefaults()
我该如何解决?
要重新加载你的按钮,你必须再次调用此代码,当你想更新按钮时(它可能在点击时,或在 viewWillAppear
函数中)
if let lang_saved = NSUserDefaults.standardUserDefaults().objectForKey("lang_saved") {
button1.setTitle("\(lang_saved)", forState: .Normal)
}
你的代码的问题是你只在 viewDidLoad
上调用,并且这只在你的视图加载时执行。
检查此 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