swift - UISlider,保存状态

标签 swift nsuserdefaults uislider

我的问题是关于 UISlider 的。我设法实现了一切,但我不知道如何保存它的状态。

我到处都看了,但所有帖子都是旧版本的 swift/xcode。所以问题是我如何保存它的状态,以便当我转到另一个 View 然后返回时状态仍然相同。

非常感谢!

import UIKit

class SettingsViewController: UIViewController {

  var sequeInt = 0

  let savedWordLength = NSUserDefaults.standardUserDefaults()

  override func viewDidLoad() {
    super.viewDidLoad()
  }

  override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
  }

  @IBOutlet weak var wordLength: UISlider!

  @IBOutlet weak var wordLengthValue: UILabel!

  var selectedValue: Int = 5

  @IBAction func valueChanged(sender: UISlider) {

    selectedValue = Int(sender.value)

    savedWordLength.setInteger(selectedValue, forKey: "myInt")

    let ourInt = savedWordLength.integerForKey("myInt")
    sequeInt = ourInt
    print (sequeInt)

    wordLengthValue.text = String(ourInt)
}

最佳答案

UISlider 值属性是一个 Float,因此您可以使用 NSUserDefault 的方法 setFloat保存它的值并在下次使用 NSUserDefaults 方法出现 View 时检索它 floatForKey .

保存:

NSUserDefaults.standardUserDefaults().setFloat(sender.value, forKey: "wordLength")

加载它:

override func viewWillAppear(animated: Bool) {
    wordLength.setValue(NSUserDefaults.standardUserDefaults().floatForKey("wordLength"), animated: false)
}

关于swift - UISlider,保存状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34108248/

相关文章:

ios - 尝试使用插图隐藏 UITableViewCell 分隔符,但它只会降低不透明度

iphone - 使用偏好(NSUserDefaults)崩溃?

ios - 具有自定义轨道图像/颜色的水平和垂直滑动条

objective-c - UISlider 与 ProgressView 相结合

SwiftUI 标题字体

json - 如何在没有 key 的情况下解析 JSON 文件?

使用 Alamofire 从 iOS 上传 PHP

ios - 如何从 Xamarin.iOS 中的 iOS 扩展调用 NSUserDefaults 观察者

ios - 我存储在NSUserDefaults.standardUserDefaults()中的数据何时更改?

ios - 带有图像和颜色的圆形 UI slider