jjzjj

UserDefaults

全部标签

ios - 是否有可能无法读取 UserDefaults.standard 值?

我知道UserDefaults只是为了保存首选项,但这些首选项是持久的-保存在UserDefaults中的值会在无限次应用程序启动后保持不变,并且只要应用程序保持安装状态就始终可供读取。.对吧?这些值是否有可能在任何时候被清除或无法正确访问?在使用UserDefaults多年并依赖于它们持有的值的一致性之后,我现在在一天的工作中看到两次当我的应用程序启动并检查一个简单的bool值时,该值不正确。ifdefaults.bool(forKey:"beenLaunched"){此代码会在每次应用启动时运行。如果该值为true,我什么都不做,但如果它为false,我会设置一些值,因为这是用户第

ios - 如何在 swift 4 中将 json 数据保存在 userdefaults 上

这是我的模型类classUserRoot:Mappable{varsuccess:Bool!varuser:UserDetails!varerror=""requiredinit?(map:Map){}funcmapping(map:Map){success成功登录后,我想将此数据保存在用户默认值上,这样当用户不必再次提供登录凭据时。这是我的代码classDefault:NSObject{staticfuncsaveToSharedPrefs(user:UserDetails!){letd=UserDefaults.standardifuser!=nil{d.set(Mapper().

swift - 如何检查 userDefault 是否为空?

如果userDefault为空,我试图拒绝访问某个ViewController,但代码似乎不起作用。为了更清楚一点,我将收藏夹列表保存到userDefault。这是我的代码:ifUserDefaults.standard.array(forKey:"favorites")==nil{navigationController?.popToRootViewController(animated:true)return}错误是Indexoutofrange,这意味着整个block都被忽略(此block之后的代码运行并且由于用户默认为空,因此在尝试检索不存在的信息时崩溃)。有趣的是,代码在我第

swift - 检查 NSUserdefaults/UserDefaults 中是否存在 boolean 键的正确方法是什么

以下两个示例中哪个最适合检查NSUserdefaults中是否存在boolean键?1-这可以接受吗?ifNSUserDefaults.standardUserDefaults().boolForKey("myKey"){print("KeyDoesExist")}2-这是首选方式吗?if(NSUserDefaults.standardUserDefaults().objectForKey("myKey")!=nil){print("KeyDoesExist")} 最佳答案 如果您想验证是否为key存储了某些内容,第二个选项就可以了

ios - 为什么 NSUserDefaults 在我的应用和共享扩展之间不起作用?

我有一个带有共享扩展的iOS应用程序。我正在尝试使用NSUserDefaults和AppGroups在它们之间共享数据,但是,虽然我可以写入NSUD对象、读取它和synchronize()而不会出错,但读取扩展总是导致无。我有一个应用程序组,文字字符串“group.net.foo.bar”,应用程序和扩展都已在功能->应用程序组下配置。这个字符串在我的应用程序中的常量结构中:structForum{staticletAPP_GROUP="group.net.foo.bar"staticletAUTH_KEY="AUTH_KEY"}在主应用程序中,我创建了一个UserDefaults对象

swift - UserDefaults() 和 UserDefaults.standard 之间的区别

Swift3.0中UserDefaults()和UserDefaults.standard有区别吗? 最佳答案 UserDefaults-为您提供一个新对象,每个对象都分配不同的内存并在对象作用域结束时释放。UserDefaults.standard-通过使用类方法standard为您提供singleton对象,此方法接收的对象在整个过程中分配单个内存应用程序。如果您对此感兴趣,还可以了解它们的用法://SetUserDefaults.standard.set("YOURSTRING",forKey:"key")UserDefaul

swift - 如何使用 UserDefaults registerDefaults()

我到处都找遍了,找不到关于如何使用registerDefaults()的解释。每篇询问如何设置默认值的帖子都会通过“使用registerDefaults()”来回答,我遇到的一个小问题是我不知道如何使用registerDefaults()。谁能告诉我具体要写什么代码以及放在哪里?我的问题:我有5个值(Int),它们需要具有特定的默认值,但稍后可以由用户更改。我已经检查了Xcode文档、youtube和google,找不到答案。 最佳答案 只传递键值对的字典:NSUserDefaults.standardUserDefaults().

swift - 更改用户默认 bool Swift 的默认值

我有代码:letuserDefaults=NSUserDefaults.standardUserDefaults()ifletbranchcheck=userDefaults.boolForKey("someBooleanValue")asBool?{println("foundbooleanas\(branchcheck)")}这很棒,只有当没有向用户默认值添加任何内容时,它才会自动返回“false”。我希望所有设置都默认为“真”。这是如何实现的? 最佳答案 根据NSUserDefaults/AccessingPreference

swift - 对象之间有什么区别(forKey :) and value(forKey:) in UserDefaults?

我使用letuserDefaults=UserDefaults.standard设置了一些用户默认值,当我检索它们时,我可以使用以下任何一个:jobTextField.text=userDefaults.object(forKey:"job")作为?字符串或者我可以使用jobTextField.text=userDefaults.value(forKey:"job")作为?字符串在什么情况下这会有所不同?很高兴知道我什么时候不能使用其中之一。非常感谢:) 最佳答案 value(forKey:)来自key-valuecoding,而不

ios - 将 CKServerChangeToken 保存到核心数据

我使用CloudKit和CoreData以及Swift来同步我的数据。因此,我创建了订阅,并在收到通知后从云端获取新数据以更新我的核心数据。这是处理此更新的推荐方法。为了获取数据更改,我可以插入一个CKServerChangeToken来获取新内容。我的问题是如何将token保存到核心数据以供以后获取请求?对于CKRecords,有一种方法可以仅保存元数据,但对于CKServerChangeToken则没有这样的方法。有人有想法吗?最好的问候,Jannik 最佳答案 CKServerChangeToken是一个不透明的数据对象,它继