0

以下是我保存和获取数据的代码:

protocol SettingsManagerProtocol: AnyObject
{
    var host: String
    {
        get set
    }
}

class SettingsManager: NSObject, SettingsManagerProtocol
{
    private var _defaults: UserDefaults?
    private var defaults: UserDefaults
    {
        if let _defaults = _defaults {
            return _defaults
        }
        else {
            _defaults = UserDefaults.standard
        }

        return _defaults ?? UserDefaults.standard
    }

    var host: String
    {
        get
        {
            print("Get value", defaults.value(forKey: SETTING_HOST) as? String ?? "")
            print(defaults.dictionaryRepresentation())
            return defaults.string(forKey: SETTING_HOST) ?? ""
        }
        set
        {
            defaults.set(newValue, forKey: SETTING_HOST)
        }
    }
}

设置我正在使用的值

app.settings?.host = txtHost.text

现在的问题是我保存了一个值并关闭应用程序并重新启动它。现在有时获取的值不是更新的值,而我在同一时间检查了该值并对其进行了更新。谁能帮我解决这个问题?

4

0 回答 0