Быстрые вызовы функций - PullRequest
0 голосов
/ 21 февраля 2020

Как узнать, сколько раз была нажата кнопка или как отслеживать вызовы функций в Swift, даже если мы закрываем приложение, у меня есть кнопка, когда вы нажимаете ее, отображается предупреждение, которое я хочу, чтобы мое приложение запомнило, если кнопка получила нажал более одного раза, чем я не хочу ничего отображать, нужна ли для этого база данных?

Ответы [ 3 ]

1 голос
/ 21 февраля 2020

Сохранить счет в UserDefaults при нажатии button.

@IBAction func buttonPressed(_ sender: UIButton) {
    var count = UserDefaults.standard.integer(forKey: "buttonPressedCount")
    count += 1
    print(count)
    UserDefaults.standard.set(count, forKey: "buttonPressedCount")
}
0 голосов
/ 21 февраля 2020

Вы можете использовать @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

Затем вы можете просто увеличить значение в любое время нажата кнопка

0 голосов
/ 21 февраля 2020

Вы можете использовать настройки пользователя по умолчанию, чтобы узнать, была ли кнопка нажата ранее

UserDefaults.standard.set(true, forKey: "Key") //setting value
UserDefaults.standard.bool(forKey: "Key"). //getting value
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...