栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何在Swift中使用UserDefaults?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何在Swift中使用UserDefaults?

参考:NSUserdefault objectTypes

Swift 3及以上

商店

UserDefaults.standard.set(true, forKey: "Key") //BoolUserDefaults.standard.set(1, forKey: "Key")  //IntegerUserDefaults.standard.set("TEST", forKey: "Key") //setObject

取回

 UserDefaults.standard.bool(forKey: "Key") UserDefaults.standard.integer(forKey: "Key") UserDefaults.standard.string(forKey: "Key")

去掉

 UserDefaults.standard.removeObject(forKey: "Key")

删除所有键

 if let appDomain = Bundle.main.bundleIdentifier {UserDefaults.standard.removePersistentDomain(forName: appDomain) }

Swift 2及以下

商店

NSUserDefaults.standardUserDefaults().setObject(newValue, forKey: "yourkey")NSUserDefaults.standardUserDefaults().synchronize()

取回

  var returnValue: [NSString]? = NSUserDefaults.standardUserDefaults().objectForKey("yourkey") as? [NSString]

去掉

 NSUserDefaults.standardUserDefaults().removeObjectForKey("yourkey")

寄存器

registerDefaults:将registrationDictionary添加到每个搜索列表的最后一项。这意味着在NSUserDefaults在所有其他有效位置中查找值之后,它将查找已注册的默认值,从而使它们可用作“后备”值。已注册的默认值永远不会存储在应用程序的运行之间,并且仅对注册它们的应用程序可见。

默认配置文件中的默认值将被自动注册。

例如从启动检测应用程序,创建用于保存启动的结构

struct DetectLaunch {static let keyforLaunch = "validateFirstlunch"static var isFirst: Bool {    get {        return UserDefaults.standard.bool(forKey: keyforLaunch)    }    set {        UserDefaults.standard.set(newValue, forKey: keyforLaunch)    }}}

在应用启动时注册默认值:

UserDefaults.standard.register(defaults: [        DetectLaunch.isFirst: true    ])

删除应用终止时的价值:

func applicationWillTerminate(_ application: UIApplication) {    DetectLaunch.isFirst = false}

并检查条件为

if DetectLaunch.isFirst {  // app launched from first}

UserDefaults套件名称

另一个属性套件名称,主要用于“
应用程序组”概念
,这是我从此处获取的示例方案:

用例是我想用一个标识符来分隔我的UserDefaults(不同的业务逻辑可能要求Userdefaults分别分组),就像Android的SharedPreferences一样。例如,当我的应用程序中的用户单击注销按钮时,我想清除与他的帐户相关的默认设置,而不是设备的位置。

let user = UserDefaults(suiteName:"User")


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/368421.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号