Mic*_*ode 1 ios swift3 userdefaults
我创建了一个自定义表格视图单元格.在我的应用程序中,有两个文件.我有一个单独的自定义表视图单元格的文件.然后我有一个tableviewcontroller文件作为一个整体的表.
在我的自定义表格视图单元格中,有一个UISwitch.此UISwitch的初始值已关闭.在自定义表视图单元的文件中,我为交换机创建了一个函数.我还为开关创建了一个插座.
@IBOutlet var theSwitch: UISwitch!
@IBAction func mySwitch(_ sender: AnyObject) {
}
Run Code Online (Sandbox Code Playgroud)
在我的表视图控制器中,我已经创建了视图确实出现的功能.我假设我需要做的是保存开关的值
@IBAction func mySwitch(_ sender: AnyObject) {
}
Run Code Online (Sandbox Code Playgroud)
然后在表视图控制器中,以某种方式调用它在这个视图中确实出现了函数.
override func viewDidAppear(_ animated: Bool) {
}
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是如果更改了交换机的值,则保存它.例如,如果用户打开应用程序并打开开关,我希望应用程序保存它,以便在重新打开应用程序时,交换机的值仍然打开.希望这可以通过使用用户默认值来完成.如果有人能告诉我这样做的代码,那就太好了.
在您的IBAction方法中,您可以像这样保存值
@IBAction func mySwitch(_ sender: UISwitch) {
UserDefaults.standard.set(sender.isOn, forKey: "Switch")
}
Run Code Online (Sandbox Code Playgroud)
在表视图中,委托方法以这种方式编写,以从用户默认值中获取值,并根据以前的值设置切换状态
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let yourCell = tableView.dequeueReusableCellWithIdentifier("ProfileCell", forIndexPath: indexPath) as! MenuProfileTableViewCell
yourCell.yourSwitch.setOn(UserDefaults.standard.bool(forKey: "Switch"), animated: true)
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2010 次 |
| 最近记录: |