【问题标题】:Swift function calls快速函数调用
【发布时间】:2020-06-05 15:19:28
【问题描述】:

如何知道按钮被按下了多少次,或者即使我们关闭应用程序,如何在 Swift 中跟踪函数调用,我有一个按钮,当你按下它时会显示一个提醒我希望我的应用程序记住按钮是否被按下按下了不止一次,我不想显示任何东西,我需要数据库吗?

【问题讨论】:

  • 您可以使用 UserDefaults 在应用会话之间保存该数据。

标签: ios swift function button


【解决方案1】:

您可以使用用户默认值来了解按钮之前是否被按下

UserDefaults.standard.set(true, forKey: "Key") //setting value
UserDefaults.standard.bool(forKey: "Key"). //getting value

【讨论】:

    【解决方案2】:

    按下button时将计数保存在UserDefaults中。

    @IBAction func buttonPressed(_ sender: UIButton) {
        var count = UserDefaults.standard.integer(forKey: "buttonPressedCount")
        count += 1
        print(count)
        UserDefaults.standard.set(count, forKey: "buttonPressedCount")
    }
    

    【讨论】:

      【解决方案3】:

      您可以使用@propertyWrapper 结构来方便地访问UserDefaults

      @propertyWrapper struct DefaultsStorable<T> {
      
          private let defaultValue: T
          private let defaults: UserDefaults
          private let key: String
      
          init(key: String, defaults: UserDefaults = .standard, defaultValue: T) {
              self.key = key
              self.defaults = defaults
              self.defaultValue = defaultValue
          }
      
          var wrappedValue: T {
              get {
                  defaults.value(forKey: key) as? T ?? defaultValue
              }
              set {
                  defaults.set(newValue, forKey: key)
              }
          }
      }
      

      然后像这样使用它:

      @DefaultsStorable(key: "numberOfButtonClicks", defaultValue: 0) var buttonClicks: Int
      

      然后,您可以在按下按钮的任何时候增加值

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-08-13
        • 1970-01-01
        • 1970-01-01
        • 2018-05-15
        • 2019-10-31
        • 1970-01-01
        • 2011-01-11
        • 1970-01-01
        相关资源
        最近更新 更多