jjzjj

UserDefaults

全部标签

ios - 使用 UserDefaults 保存和检索 bool 值

我正在尝试将bool值从UISwitch保存到UserDefaults,并在另一个View中检索它。但是,我已经尝试遵循多个教程和堆栈答案,但似乎都没有用。我是这样保存的:classSettingsViewController:UITableViewController{@IBOutletweakvarsoundSwitchOutlet:UISwitch!@IBActionfuncsoundSwitch(_sender:UISwitch){UserDefaults.standard.set(soundSwitchOutlet.isOn,forKey:"sound")}这就是我试图在另一

iphone - 通过 "substringToIndex"在 UserDefaults 中找到特殊键

我按特定前缀对我的UserDefault键进行分组。例如[NSUserDefaultsstandardUserDefaults]setInteger:1forKey:@"prefix1_someText_Key"][NSUserDefaultsstandardUserDefaults]setInteger:2forKey:@"prefix2_someText_Key"][NSUserDefaultsstandardUserDefaults]setInteger:3forKey:@"prefix4_someText_Key"]//.....现在,我想找到所有以例如开头的键。“前缀”,并将

ios - 如何使用模拟器在 XCUITest 中以编程方式清除 NSUserDefaults

我已经阅读了几个与此相关的答案,他们建议执行以下操作之一,但这些选项对我不起作用。我有一个XCUITest,我试图在运行我的XCUITest的其余部分之前清除标准用户默认值。目前我的测试应用程序有一个调用此代码的按钮。我还尝试过直接从XCUITest中调用此代码(我不确定这是否可以正常工作,或者是否需要从应用程序中运行)。NSString*appDomain=[[NSBundlemainBundle]bundleIdentifier];[[NSUserDefaultsstandardUserDefaults]removePersistentDomainForName:appDomain

iphone - UserDefaults 线程安全吗

我知道文档说它是,我知道这个主题已经在讨论中,但我有一个有趣的堆栈结果,我无法得出任何结论,但[NSUserDefaultsstandardUserDefaults]不是线程安全。所以我将发布我的崩溃日志并希望有人看到我看不到的东西......线程崩溃...libdispatch.dylib0x3ab53d67_dispatch_client_callout+23libdispatch.dylib0x3ab65e73_dispatch_barrier_sync_f_invoke+27CoreFoundation0x302b470dCFPreferencesAppSynchronize+

Swift - 使用 UserDefaults 保存大量字符串

我有一个社交应用程序,用户可以在其中喜欢照片...因此,为了不等待从服务器获取数据,我想将包含照片的字符串数组存储到设备中objectIds..问题是,考虑到用户可以喜欢数千张照片,使用UserDefaults来实现这一点是一种好的做法吗? 最佳答案 编辑正如EricAya在评论中指出的那样,NSUserDefaults不会在应用程序启动时自动加载到内存中。NSUserDefaults在您的应用程序启动时加载到内存中如果您在NSUserDefaults中存储了特别大量的数据,那么您的应用程序启动加载NSUserDefaults所花费

ios - 关闭和打开应用程序时打开最后打开的 View Controller

我希望能够在我的应用程序上关闭和重新打开同一个ViewController。我想这样做的原因是因为我有一个“教程”场景,我只想在您第一次打开应用程序时出现。每隔一段时间,我希望应用程序立即打开第二个ViewController。这是我的代码:对于GameViewController:UserDefaults.standard.set(0,forKey:"View")对于GameViewController2:UserDefaults.standard.set(1,forKey:"View")对于AppDelegate:funcapplication(_application:UIApp

ios - 是什么导致这种情况发生? NSUserDefaults 无法在 watchkit 项目中共享 IOS 和 Watch 之间的数据

我可以从IOS获取数据,但请注意。如果我通过watchkit扩展保存数据,IOS无法获取数据。所以很奇怪。我已经添加了组并创建了配置文件。以下是我的片段:classInterfaceController:WKInterfaceController{@IBOutletvaroutputLabel:WKInterfaceLabel!overridefuncawake(withContextcontext:Any?){super.awake(withContext:context)//Configureinterfaceobjectshere.}overridefuncwillActivat

ios - userdefaults 第一次后未保存

我创建了一些简单的系统,如果userdefaults有键“isWalkthroughPresented”。如果键为false,则显示walkthourghViewController。如果没有key,则从数据库中检查。但是它不会在第一次后设置key。但在一些发射后保存。应该是什么问题?这是我在用户登录并看到第二个ViewController后在viewDidAppear中使用的代码:letuserDefaults=UserDefaults.standardif!userDefaults.bool(forKey:"isWalkthroughPresented"){presentWalkt

ios - UserDefaults 有时被错误读取

我一直在开发一个应用程序,可以在应用程序启动之间存储用户数据(用户名等);我将此数据存储在UserDefaults中。然而,我最近注意到一个问题:有时,当我运行应用程序时,我会从UserDefaults.standard.object(forKey:)中获取一些值,但有时我会获取nil当我确实知道那里有东西时。这对我来说毫无意义。我在SO上搜索了这个问题的答案,但只找到了this,这没有帮助。为了对此进行测试,我制作了一个空应用程序并将以下内容放入viewDidAppear中,然后运行该应用程序一次:UserDefaults.standard.setValue("aValue",for

ios - 带有 UserDefaults 的 Swift 存储数组

所以我基本上尝试存储一些帖子ID,这样我就可以知道用户阅读了哪些内容,这样我就可以显示一个“已读”按钮。varactual_data=UserDefaults.standard.array(forKey:"seen_posts")UserDefaults.standard.setValue(actual_data?.insert(321,at:0),forKey:"seen_posts")我已经试过了,但它似乎不起作用,'insert(_:at:)'的使用不明确已更新varactual_data=UserDefaults.standard.array(forKey:"seen_post